问题描述
|
我可以依靠以下代码在
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吗?
否。规格说明没有订单。