1

次のようなループがあります。

for (var i = 0; i < arr.length; i++) {
    console.log(arr);
    // rest of the code does not touch 'arr'
    ...
}

ただし、ブラウザー コンソール (Chrome) では、次のように表示され続けます。

Array[0]
    length: 0
    __proto__: Array[0]

の出力として、console.log(arr)に何もないことを示唆していarrます。しかし、ログ ステートメントが実行される可能性はありますか?!

4

2 に答える 2

0

このフィドルを参照してください: http://jsfiddle.net/r9exf/

var arr = [];

for (var i = 0; i < arr.length; i++) {
    console.log("arr = " + arr);
    // rest of the code does not touch 'arr'

}

に比べ:

var arr2 = [1,2,3];

for (var i = 0; i < arr2.length; i++) {
    console.log("arr2 = " + arr2);
    // rest of the code does not touch 'arr'

}

あなたのコード(あなたが提供したものがあなたが持っているものであると仮定して)は、うまく機能しています。ループには入りません (最初のケースを参照し、フィドルの 2 番目と比較してください)。

したがって、この配列を記録しているコード内の別の場所にある必要があります。

于 2013-10-18T13:58:35.143 に答える