受兰斯波拉德在这个问题中的评论的启发,发生了一些非常奇怪的事情,我以前从未见过......
var strangeArray = {
0:"a",
1:"b",
2:"c",
length: 0,
splice: Array.prototype.splice
}
现在,当你运行它时:
> strangeArray;
[] <-- you get an empty array.
> strangeArray.length;
0 <-- Holy $#!T
现在:
> strangeArray[0];
"a"
> strangeArray[1];
"b"
> strangeArray[2];
"c"
什么?“数组中的隐藏值”?
首先我认为因为它是一个对象,这就是原因。但object
应该像这样显示:
{}
那么为什么会这样呢?请帮忙,我完全糊涂了。谢谢。