console.log() は、実際に変更される前の変数の値を表示します。
P粉356361722
P粉356361722 2023-08-22 17:35:57
0
2
375
<p>このコードは理解できました。 A のコピーを作成し、それを C と呼びましょう。 A が変化しても C は変わりません。 </p> <pre class="brush:php;toolbar:false;">var A = 1; var C = A; console.log(C); // 1 A; console.log(C); // 1; <p>しかし、A が配列の場合は状況が異なります。 C が変化するだけでなく、A に触れる前から変化します。 </p> <pre class="brush:php;toolbar:false;">var A = [2, 1]; var C = A; console.log(C); // [2, 1] A.sort(); console.log(C); // [1, 2]; <p>2 番目の例で何が起こっているのか説明できる人はいますか? </p>
P粉356361722
P粉356361722

全員に返信(2)
P粉578680675

console.log()オブジェクトへの参照を受け取るため、オブジェクトが変更されると、コンソール内の値も変更されます。これを回避するには、次の方法を使用できます。

リーリー

MDN警告:

いいねを押す +0
P粉949848849

Pointy の回答 は有益な情報を提供しますが、質問に対する正しい回答ではありません。

OP で説明されている動作は、2010 年 3 月に最初に報告されたバグの一部であり、2012 年 8 月に Webkit で修正されましたが、この記事の執筆時点ではまだ Google Chrome には統合されていません。動作は、オブジェクト リテラルが console.log() に渡されたときに、コンソール デバッグ ウィンドウが opened であるか closed であるかによって異なります。

元のバグレポートからの抜粋 (https://bugs.webkit.org/show_bug.cgi?id=35801):

Chromium 開発者からの回答:

多くの苦情が寄せられ、最終的にはバグ修正につながりました。

2012 年 8 月に実装されたパッチの変更ログの説明 (http://trac.webkit.org/changeset/125174):

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!