如果我们有这个javascript代码: var obj = { b:{propb:10}, d:{propd:15}, c:{propc:15}, a:{propa:5} }
v8 :: Object :: GetPropertyNames()是否保证将以与上面定义的顺序相同的顺序返回属性名称? 我做了一个测试,订单被保留了,但我想知道这是否有保障。
答案 0 :(得分:1)
ECMA-262的规范5.1:“没有规定枚举属性的机制和顺序。”
对于v8,目前还没有指定枚举属性的顺序。它可能在某些情况下有效,但最好不要依赖它。
关于v8订购的Chromium票证:http://code.google.com/p/chromium/issues/detail?id=21901