这一年之后碰碰...
这是和主要的浏览器仍然不同:
function lineate(obj){
var arr = [], i;
for (i in obj) arr.push([i,obj[i]].join(':'));
console.log(arr);
}
var obj = { a:1, b:2, c:3, "123":'xyz' };
/* log1 */ lineate(obj);
obj.a = 4;
/* log2 */ lineate(obj);
delete obj.a;
obj.a = 4;
/* log3 */ lineate(obj);
gist或test in current browser
的Safari 5,Firefox的14
["a:1", "b:2", "c:3", "123:xyz"]
["a:4", "b:2", "c:3", "123:xyz"]
["b:2", "c:3", "123:xyz", "a:4"]
Chrome浏览器21,歌剧12,节点0.6,火狐27
["123:xyz", "a:1", "b:2", "c:3"]
["123:xyz", "a:4", "b:2", "c:3"]
["123:xyz", "b:2", "c:3", "a:4"]
IE9
[123:xyz,a:1,b:2,c:3]
[123:xyz,a:4,b:2,c:3]
[123:xyz,a:4,b:2,c:3]
Becasue他们只会被测试潜在的浏览器和变型的子集。更不用说任何未来的浏览器。假设一个没有失败的测试提供任何形式的具体证明显然是错误的。 – 2008-11-11 12:23:18
我怀疑自己有限的JavaScript能力会比SO人群更好。除了谁知道什么奇怪的浏览器潜藏在外?你可以在答案中看到GChrome确实存在一个在我的简单示例中不明显的错误。 – chakrit 2008-11-11 13:31:16
[JavaScript保证对象属性顺序?](http://stackoverflow.com/q/5525795/1048572) – Bergi 2015-06-25 14:52:51