为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

叮当猫咪 2018-12-17 08:55:23
我想给数组赋值,但是为什么for-in访问不到空数组的数组元素?var arr=new Array(2);for(var i in arr){     arr[i]=10; }
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

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}


查看完整回答
反对 回复 2018-12-17
  • 1 回答
  • 0 关注
  • 408 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信