Для движка V8 JavaScript, используемого в Google Chrome, состоялось аналогичное обсуждение:
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])
.