是否有任何主流浏览器未保留JavaScript对象中的插入顺序?

问题描述

| 我可以依靠以下代码
a
之前警告
b
吗?
var x = {}
x[\'b\'] = 1
x[\'a\'] = 0
for(var i in x) {
    alert(i)
}
    

解决方法

对于Google Chrome中使用的V8 JavaScript引擎,进行了类似的讨论: http://code.google.com/p/v8/issues/detail?id=164 最好不要依赖未记录的功能。而且,如果您使用数字作为键,肯定会出错。 例如,这在某些浏览器中会中断:
var x = {}
x[\'b\'] = 1
x[\'2\'] = 20
x[\'a\'] = 0
x[\'1\'] = 10
for(var i in x) {
    alert(x[i])
}
顺便说一句,
alert(x[i])
。     ,  是否有任何主流浏览器未保留JavaScript对象中的插入顺序? 直到最近,至少有一个主要的浏览器做了(我认为V8引擎不会保留顺序)。   我可以依靠以下代码在a之前警告b吗? 否。规格说明没有订单。