我只是在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,这可能会造成混淆!

第三个示例也是如此。

关于javascript - 2个 undefined variable 的结果类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7886866/

10-11 06:05