コンソール ログでの JavaScript オブジェクト表示の不一致
コンソール ログで JavaScript オブジェクトを表示すると、Firefox、Chrome、およびSafari ブラウザ。 Firefox の Firebug はオブジェクト属性に加えられた変更を正確に反映しますが、Chrome と Safari のコンソール ログは特有の動作を示します。
Chrome のコンソールでは、オブジェクトに関係する console.log 呼び出しによりオブジェクトへの参照が作成されます。コンソールでオブジェクト タブが開かれるまで、参照は生きたままとなり、オブジェクトに加えられた変更が反映されます。ただし、オブジェクト タブを開くと、ログに記録されたオブジェクトは「キャッシュ」され、元のオブジェクトがさらに変更されたかどうかに関係なく、最新の更新値が表示されます。
この動作は、Chromium チームによる設計上の決定に起因します。 、バグとはみなされません。ただし、コンソール ログ内のオブジェクトの正確な表示に依存している開発者にとっては不便な場合があります。
この問題を回避するには、いくつかのオプションを使用できます。開発者は、JSON.stringify(foo) を使用して取得したシリアル化された表現など、オブジェクトの非オブジェクト値をログに記録することを選択できます。これにより、オブジェクトの状態の最新の表現が提供されます。
以上が## Chrome および Safari のコンソール ログで JavaScript オブジェクトが Firefox とは異なって表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。