为什么使用字符串作为数组的键,控制台显示没有这些声明值的数组,并且在没有显示键为字符串的值时进行迭代?虽然我可以获得它们的价值.
>> var arr = [ 0, 1, 2, 3 ];
undefined
>> arr["something"] = "aught";
"aught"
>> arr
[0, 1, 2, 3]
>> arr["something"]
"aught"
>> for( var i = arr.length; i--; console.log( arr[ i ] ) );
3
2
1
0
Run Code Online (Sandbox Code Playgroud)
我知道数组是在javascript引擎中实现了某种"枚举"接口的对象.最有趣的是,解释器不会抛出任何警告或错误,因此我花了一些时间来搜索数据可能丢失的位置.我现在,我错了,我用console而不是console