ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript がオブジェクトをログに記録するときに「[object Object]」と表示されるのはなぜですか?
JavaScript では、値をアラートまたはログに記録しようとすると、文字列 "[object Object]" が表示されることがあります。オブジェクト。この文字列はオブジェクトのデフォルトのシリアル化を表し、オブジェクトのタイプについての情報を提供します。
一部のプログラミング言語とは異なり、JavaScript はにはさまざまなオブジェクトタイプがあります。各型は、そのコンストラクター関数によって識別されます。次の例は、さまざまなオブジェクト タイプのシリアル化を示しています。
function stringify(x) { console.log(Object.prototype.toString.call(x)); } stringify(function () {}); // [object Function] stringify([]); // [object Array] stringify(/x/); // [object RegExp] stringify(new Date); // [object Date] stringify({}); // [object Object]
JavaScript では、「オブジェクト」(小文字) という用語は一般に、物の構造的な性質を指します。ただし、「オブジェクト」について具体的に説明する場合、開発者は通常、「オブジェクト オブジェクト」(大文字) を意味します。これは、これらのオブジェクトのコンストラクター関数が Object と呼ばれるためです。
提供されたコードでは、関数 whatIsVisible() は表示要素を表すオブジェクトを返します。戻り値を警告しようとすると、JavaScript はオブジェクトを「[object Object]」にシリアル化します。これはオブジェクト オブジェクトであるためです。
シリアル化された文字列ではなく実際の要素を表示するには、戻り値を返すように関数を変更できます。代わりに要素の ID:
function whichIsVisible() { if (!.is(':hidden')) return .attr('id'); if (!.is(':hidden')) return .attr('id'); }
以上がJavaScript がオブジェクトをログに記録するときに「[object Object]」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。