Entmystifizierung von „Undefiniert x 1“ in JavaScript
Im Kontext eines JavaScript-Programms kann es rätselhaft sein, auf „undefiniert x 1“ zu stoßen. Diese Meldung erscheint normalerweise im Debugger von Chrome und weist auf eine neu eingeführte Funktion hin.
Verstehen von „undefiniert x 1“
„Undefiniert x 1“ bezeichnet ein nicht initialisiertes Element in einem Array oder Array-ähnliches Objekt. Dies ist eine aktuelle visuelle Verbesserung in Chrome, die die bisherige Praxis der Anzeige mehrerer „undefinierter“ Werte ersetzt. Anstatt beispielsweise „[undefiniert, undefiniert, undefiniert,...]“ anzuzeigen, wird für ein Array mit 100 nicht initialisierten Elementen kurz und bündig „[undefiniert x 100]“ angezeigt.
Nicht initialisierte Elemente
Nicht initialisierte Elemente sind Platzhalter innerhalb eines Arrays, denen noch ein Wert zugewiesen werden muss. In JavaScript sind Arrays dynamisch und können dynamisch in der Größe geändert werden. Wenn ein Array erstellt wird, werden Elemente, die über die ursprüngliche Größe hinausgehen, nicht initialisiert und enthalten den Sonderwert „undefiniert“.
Argumente Array
Im Kontext einer Funktion wird das Das Array „arguments“ ist ein Array-ähnliches Objekt, das die an die Funktion übergebenen Argumente sammelt. Auf Elemente dieses Objekts kann zwar wie auf Array-Elemente zugegriffen werden (z. B. Argumente[0]), sie sind jedoch keine echten Array-Elemente und können nicht gelöscht werden. Der Versuch, sie zu löschen, führt zu undefiniert.
Beispiel
Beachten Sie den folgenden Ausschnitt:
function foo(x) { console.log(arguments[0]); } foo(); // Logs undefined foo(1); // Logs 1
Im ersten Aufruf von foo() Es werden keine Argumente übergeben, was im Debugger zu „undefiniert x 1“ führt. Im zweiten Aufruf wird ein Argument bereitgestellt und das übliche „undefiniert“ ausgegeben.
Fazit
„Undefiniert x 1“ im Chrome-Debugger weist auf nicht initialisierte Elemente in hin Arrays oder arrayähnliche Objekte. Wenn Sie dies verstehen, können Sie solche Objekte effektiv debuggen und bearbeiten.
Das obige ist der detaillierte Inhalt vonWarum zeigt Chrome im Debugger „Undefiniert x 1' an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!