[英]Can the JS array length property ever return a negative value?
当JavaScript数组长度属性返回负值时,是否会有一个实例? 我假设答案是否定的,但我想知道在比较if语句中的数组长度时是否需要考虑负值。
var x = y.length;
if (x === 0) {
return false;
} else if (x > 0) {
return true;
} else alert("error"); // is this necessary?
}
通常不会(正如其他答案所指出的那样),但是作为数组实例的对象可以具有称为length的负属性
var b = Object.create([]);
b.length = -1;
alert(b instanceof Array)
alert(b.length);
不,它不能。 而且,如果你尝试这样做arr.length = -1
它会抛出异常
不,它不能。 MDN说: 。
length属性的值是一个整数,带有正号,值小于2到32次幂(232)。
正如Mozilla开发人员网站( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length )所述,“length属性表示一个无符号的32位整数,指定数组中元素的数量。“ 如您所见,它是32位的无符号整数。 如果它是未签名的,那么它不能是否定的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.