猿问

为什么for-in访问不到空数组的数组元素?

我想给数组赋值,但是为什么for-in访问不到空数组的数组元素?

var arr=new Array(2);for(var i in arr){
    arr[i]=10;
}


叮当猫咪
浏览 409回答 1
1回答

不负相思意

for-in 语句 可以遍历对象 自身的可枚举属性 和其 原型链上的可枚举属性。这里得了解对象的属性描述符。。。通过 Array(num) 生成的数组项(稀疏数组项),没有初始化生成属性描述符,就自然无法遍历。var arr = new Array(2);Object.getOwnPropertyDescriptor(arr, '0'); // undefinedObject.getOwnPropertyDescriptor(arr, 'length')// {value: 2, writable: true, enumerable: false, configurable: false}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答