GetPropertyNames()是否保留了属性顺序

时间:2012-04-04 17:13:48

标签: v8

如果我们有这个javascript代码:     var obj =     {       b:{propb:10},       d:{propd:15},       c:{propc:15},       a:{propa:5}     }

v8 :: Object :: GetPropertyNames()是否保证将以与上面定义的顺序相同的顺序返回属性名称? 我做了一个测试,订单被保留了,但我想知道这是否有保障。

1 个答案:

答案 0 :(得分:1)

ECMA-262的规范5.1:“没有规定枚举属性的机制和顺序。”

对于v8,目前还没有指定枚举属性的顺序。它可能在某些情况下有效,但最好不要依赖它。

关于v8订购的Chromium票证:http://code.google.com/p/chromium/issues/detail?id=21901