2

重複の可能性:
要素の順序-javascriptのfor(... in ...)ループ

次のようなコードがあるとします。

var a = {}
a.a = 1;
a.c = 2;
a.b = 3;

for (var i in a) {
    console.log(a[i]);
}

1、2、3はこの順序で印刷されることが保証されていますか?私はテストしました、そしてこれはこれまでのところそうです、しかし私はそれが常に真実であるかどうかわかりません。これを行わないブラウザはありますか?物事の削除、プロトタイプの継承など、奇妙なことは何も起こっていません。オブジェクトにプロパティを追加するだけです。

4

2 に答える 2

3

Chromeを除く現在のすべてのブラウザは、オブジェクトのプロパティを定義されたのと同じ順序でループします。

chromeのバグレポートは次のとおりです:http ://code.google.com/p/chromium/issues/detail?id=883 。現在、としてマークされていWontFixます。

于 2009-05-28T03:24:34.227 に答える
1

私の現在のバージョンの Chrome (2.0.172.28) では、John Resig のテスト ケースに合格したので、現在 Chrome で修正されているのではないでしょうか?

于 2009-05-28T08:45:12.223 に答える