我正在阅读权威指南 Javascript,并遇到了一段话,我引用了
如果您使用恰好是非负整数的字符串对数组进行索引,则它表现为数组索引而不是对象属性
所以类似的东西a["4"]
会存储在索引 5 中,而类似的东西a["-1.26"]
会被存储为属性"1.26"
..
我有点冒险并尝试了a["02"] = 2;
现在我可以设置它,检索它,但它既没有设置为a[2]
(基本上a[parseInt("02")]
),也没有在我打印数组时得到它..
这是我的代码。我用节点和浏览器试了一下。
> a[3] = 3;
3
> a["-1.2"] = 10;
10
> a
[ , , , 3, '-1.2': 10 ]
> a["02"] = 2;
2
> a
[ , , , 3, '-1.2': 10 ]
> a["02"]
2
> a.length
4
我只是想了解到底发生了什么。