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
。
答案 0 :(得分:4)
-Infinity
是一个数值。数值不具有.length
属性,因此尝试从中读取将返回undefined
。 turkeycheck
变量本身保存的值保持不变,如果您在尝试记录其长度后尝试记录其值,则仍会显示值-Infinity
。
var n = 1;
console.log(n.length); // undefined
console.log(n); // 1