Array(5)
本质上等同于
var arr = [];
arr.length = 5;
在javascript中,更改数组的长度不会为其数字属性设置任何值,也不会在数组对象中定义这些属性。因此,数字属性是不确定的,而不是具有不确定的值。您可以使用以下方法进行检查:
Object.keys(arr)
迭代javascript时会迭代数组的数字属性,因此,如果这些数字属性不存在,则没有任何要迭代的内容。
您可以通过以下方法进行检查:
var arr = Array(5)
//prints nothing
arr.forEach(function(elem, index, array) {
console.log(index);
});
arr[3] = 'hey'
//prints only 'hey' even though arr.length === 5
arr.forEach(function(elem, index, array) {
console.log(index);
});
如下代码:
var arr = [undefined, undefined];
创建和数组,length ===2
并将 。