Bry*_*eld 8 javascript cross-browser object
b以前可以依赖以下代码提醒a吗?
var x = {}
x['b'] = 1
x['a'] = 0
for(var i in x) {
alert(i)
}
Run Code Online (Sandbox Code Playgroud)
是否有任何主流浏览器不保留JavaScript对象中的插入顺序?
直到最近至少有一个主要的浏览器(我认为V8引擎没有保留顺序).
我可以依赖以下代码提醒b吗?
不.规范说没有订单.
对于 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])
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,它是alert(x[i])。
| 归档时间: |
|
| 查看次数: |
870 次 |
| 最近记录: |