-Infinity如何实际工作?

时间:2015-05-05 11:35:17

标签: javascript

    STACKOVERFLOW = [];
    turkeycheck = Math.max.apply(null, STACKOVERFLOW);
    if(!turkeycheck){
         // See Below
    }

console.log(turkeycheck);
console.log(turkeycheck.length);

也可以在此处看到:http://jsfiddle.net/L4zgfcmz/5/

只是好奇为什么(!turkey)没有被捕获但是使用turkeycheck.length显示它未定义?如果它未定义,那是不是意味着它是假的?

此外,如果turkey是控制台记录-Infinity,那么turkeycheck的长度是否应该变为11?

我很困惑为什么将turkey设置为'-Infinity',然后变为undefined

1 个答案:

答案 0 :(得分:4)

-Infinity是一个数值。数值不具有.length属性,因此尝试从中读取将返回undefinedturkeycheck变量本身保存的值保持不变,如果您在尝试记录其长度后尝试记录其值,则仍会显示值-Infinity

var n = 1;
console.log(n.length); // undefined
console.log(n);        // 1