在 JavaScript 中,我可以有一个带孔的数组:
a = [];
a[0] = 100;
a[5] = 200;
a[3] = 300;
a.forEach(function(x) {alert(x);});
我找不到有关元素是否会按升序处理的信息,或者这不是可靠的事实。
我检查了“for .. in”循环以升序遍历数组索引,而对象的属性名称以它们添加到对象的相同顺序遍历(至少看起来如此)。
(即看起来数组是某种内部树,而对象是哈希表。)
我刚刚发现 Rhino JavaScript 也遍历了不存在的元素:http: //ideone.com/7Z3AFh(不像 for..in)。