繁体   English   中英

2个未定义变量的结果类型

[英]typeof result of 2 undefined variable

我只是在javascript中测试“ typeof”,所以实际上不知道为什么结果是这样的。

/ * ** * /

var cota,
    plouto;

alert(typeof plouto/cota); //NaN 

/ * ** * /

var cota,
    plouto;

alert(typeof (plouto/cota)); //number

/ * ** * /

var cota,
    plouto;

var flo = plouto/cota;

alert(typeof flo); //number 

第一个警告NaN因为首先执行typeof plouto ,结果除以cota 其结果不是数字,因此不是NaN 您可以这样想象:

(typeof plouto) / cota

第二个分ploutocota ,这不是一个数字(因为这两个变量是undefined ),但类型NaN实际上是Number ,这可能会造成混淆!

第三个示例也是如此。

typeof运算符的优先级高于数学运算符,因此首先执行它。

你从得到typeof plouto/cota是第一typeof plouto然后分返回值cota -导致不是一个数字。 当进行数学运算并且“参与者”之一不是数字时,整个结果还将为NaN。

其他两种情况更简单:NaN的类型是数字。 可以认为这与对象的null等效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM