ホームページ  >  記事  >  ウェブフロントエンド  >  Google Chromeではconsole.log()は常に配列とオブジェクトの初期値を表示しますか?

Google Chromeではconsole.log()は常に配列とオブジェクトの初期値を表示しますか?

DDD
DDDオリジナル
2024-10-20 11:57:02287ブラウズ

Does console.log() Always Show the Initial Values of Arrays and Objects in Google Chrome?

Google Chrome の Console.log() のオブジェクトと配列の動作

問題:

Google Chrome で、ネストされた配列またはオブジェクトは console.log() を使用してログに記録されます。その後、配列またはオブジェクトの値を変更すると、ログ記録時の値ではなく、更新された値がコンソール出力に表示されます。

解決策:

この動作は、Google Chrome の console.log() 機能のバグが原因です。

説明:

Webkit Chrome で使用される基盤となるレンダリング エンジンである には、コンソールでログに記録されたオブジェクトと配列を展開すると、ログ記録時のオブジェクトの状態が常に正確に表現されるとは限らないという既知のバグがあります。

影響:

この不一致は、特に中間値の検査をコンソールに依存している場合に、混乱やデバッグの困難を引き起こす可能性があります。

問題の再現:

問題を再現するには、次の手順に従います:

  1. 次のスクリプトを Web ページに追加します:

    <code class="js">var greetings=['hi','bye'];
    console.log(greetings);
    setTimeout(function(){
        greetings.push('goodbye');
    },3000);</code>
  2. 開く新しいウィンドウでページを表示します:

    • コンソール すでに開いている: console.log() 出力には、配列の初期値 (つまり、2 つの項目) が表示されます。
    • コンソールが 最初に閉じられている: ページの読み込み後にコンソールが開かれると、console.log() 出力には配列の更新された値 (つまり、3 つの項目) が表示されます。

バグ ステータス:

このバグは Webkit で修正されましたが、まだ Google Chrome には取り込まれていません。

以上がGoogle Chromeではconsole.log()は常に配列とオブジェクトの初期値を表示しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。