Heim > Web-Frontend > js-Tutorial > Warum zeigt JavaScript beim Protokollieren eines Objekts „[Objekt Objekt]' an?

Warum zeigt JavaScript beim Protokollieren eines Objekts „[Objekt Objekt]' an?

DDD
Freigeben: 2024-12-13 18:53:12
Original
469 Leute haben es durchsucht

Why Does JavaScript Display

Grundlegendes zu „[object Object]“ in JavaScript

In JavaScript stoßen Sie möglicherweise auf die Zeichenfolge „[object Object]“, wenn Sie versuchen, den Wert von zu alarmieren oder zu protokollieren ein Objekt. Diese Zeichenfolge stellt die Standardserialisierung eines Objekts dar und bietet Einblicke in den Typ des Objekts.

Warum „[object Object]“ anstelle von „[object]“?

Im Gegensatz zu einigen Programmiersprachen JavaScript verfügt über verschiedene Objekttypen. Jeder Typ wird durch seine Konstruktorfunktion identifiziert. Die folgenden Beispiele veranschaulichen die Serialisierung verschiedener Objekttypen:

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]
Nach dem Login kopieren

In JavaScript bezieht sich der Begriff „Objekt“ (Kleinbuchstaben) im Allgemeinen auf die strukturelle Beschaffenheit einer Sache. Wenn Entwickler jedoch speziell von „Objekten“ sprechen, meinen sie normalerweise „Objektobjekte“ (Großschreibung). Dies liegt daran, dass die Konstruktorfunktion für diese Objekte Object heißt.

Ein Objekt von einer Funktion zurückgeben

In Ihrem bereitgestellten Code gibt die Funktion whichIsVisible() ein Objekt zurück, das das sichtbare Element darstellt. Wenn Sie versuchen, den Rückgabewert zu warnen, serialisiert JavaScript das Objekt in „[object Object]“, da es sich um ein Object-Objekt handelt.

Um das tatsächliche Element anstelle der serialisierten Zeichenfolge anzuzeigen, können Sie die zurückzugebende Funktion ändern stattdessen die ID des Elements:

function whichIsVisible() {
    if (!.is(':hidden')) return .attr('id');
    if (!.is(':hidden')) return .attr('id');
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum zeigt JavaScript beim Protokollieren eines Objekts „[Objekt Objekt]' an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage