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.
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]
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.
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'); }
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!