当用类型对象划分时,如何使用未定义类型的变量给出类型编号?

时间:2016-11-07 04:57:39

标签: javascript html

我试图将变量分为" UNDEFINED "和其他变量类型" OBJECT"我在第三个参数中存储了除法的值,当我检查第三个参数的类型时,它显示了数字。

有人可以解释我的问题。



<html>

<head>
  HELLO!!!
  <script>
    var a;
    var b = null;
    var c = a / b;
    console.log(typeof a);
    console.log(typeof b);
    console.log(typeof c);
  </script>

  <body>

  </body>
</head>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:4)

如果您将NULL除以+0,则jatscirpt 'undefined'在js中被视为0,那么您将获得NaN类型{{1} }}。
您将numberundefined分开,以便获得null 最后你的表达将是

NaN

您可以检查结果是c = undefined/0; //It will return NaN 哪个类型是NaN

number

答案 1 :(得分:2)

应用multiplicative operator* % /之一)时,操作数首先使用ToNumber转换为数字。

的情况下
var a;
var b = null;
var c = a / b;

然后when evaluating a / b

ToNumber(a) => ToNumber(undefined) => NaN
ToNumber(b) => ToNumber(null) => +0

然后在步骤1 when applying the / operator

  

如果任一操作数为NaN,则结果为NaN。

这样:

NaN / +0 => NaN

和NaN是Type Number