4

nameJavaScript で名前を付けた配列をコンソール ログに記録しようとしていますが、期待どおりに動作しません。私が試しているバージョンですchrome 29が、問題なくfirefox使用できます。

namefor ループを使用して名前付き配列を出力します。

var name = ["Hello", "foo", "test", "tried"];

for (var i = 0; i < name.length; i++) {

    console.log(name[i]);

}

結果: ここに画像の説明を入力

testfor ループを使用して名前付き配列を出力します。

var test = ["Hello", "foo", "test", "tried"];

for (var i = 0; i < test.length; i++) {

    console.log(test[i]);

}

結果: ここに画像の説明を入力

4

1 に答える 1

4

namewindow.nameは、現在のウィンドウの名前を含むプロパティであるの省略形です。以下:

var name = ["Hello", "foo", "test", "tried"];

新しい変数を作成しません。代わりに、配列は文字列にフラット化され、結果がプロパティに割り当てられnameます。

> var name = ["Hello", "foo", "test", "tried"];
undefined
> name
"Hello,foo,test,tried"

これが奇妙な反復動作の原因です。

于 2013-09-02T13:24:31.400 に答える