0

重複の可能性:
ChromeのJavaScriptコンソールは配列の評価に怠惰ですか?

これがJS、Chrome、console.logのいずれに関係するのか、それとも何に関係するのかはよくわかりませんが、答えを得ることに興味があります。

私はEclipseでコーディングし、Chromeで実行しconsole.logてデバッグを行っています。私のコードはJQuery.ready()メソッドに含まれています。

単純な配列を定義してvar arr = [1,2,3,4,5];から、配列とその最初の値をログに記録します。これにより、(予想どおりに)出力[1, 2, 3, 4, 5]とが得られ1ます。

次に、を使用して最初の値を更新しarr[0] = 12;、同じ配列と最初の値を再度ログに記録します。私のコードは次のようになります。

var arr = [1,2,3,4,5];
console.log(arr);
console.log(arr[0]);
arr[0] = 12;
console.log(arr);
console.log(arr[0]);

そして、次の出力を取得します。

[12, 2, 3, 4, 5]
1
[12, 2, 3, 4, 5]
12

私の質問は、最初のログがその値が入力される前に呼び出されたときに、なぜ最初と3番目の行の両方が更新された最初の値でログに記録されるのですか?

これはlogメソッドの呼び出しとの単なる遅れですか、それともここで何か他のことが起こっていますか?

ご協力いただきありがとうございます :)

4

0 に答える 0