[英]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
第二个分plouto
由cota
,这不是一个数字(因为这两个变量是undefined
),但类型NaN
实际上是Number
,这可能会造成混淆!
第三个示例也是如此。
typeof
运算符的优先级高于数学运算符,因此首先执行它。
你从得到typeof plouto/cota
是第一typeof plouto
然后分返回值cota
-导致不是一个数字。 当进行数学运算并且“参与者”之一不是数字时,整个结果还将为NaN。
其他两种情况更简单:NaN的类型是数字。 可以认为这与对象的null
等效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.