Heim > Web-Frontend > js-Tutorial > Warum wird „Undefiniert' für Variablendeklarationen in der JavaScript-Konsole angezeigt?

Warum wird „Undefiniert' für Variablendeklarationen in der JavaScript-Konsole angezeigt?

Mary-Kate Olsen
Freigeben: 2024-10-20 08:42:02
Original
516 Leute haben es durchsucht

Why Is

Warum wird „undefiniert“ gedruckt, wenn Variablen in der JavaScript-Konsole deklariert werden?

Anders als in anderen Umgebungen wird beim Deklarieren von Variablen in der Konsole mit dem Das Schlüsselwort „var“ führt nicht dazu, dass der Variablen ein Wert zugewiesen wird. Stattdessen gibt die Konsole „undefiniert“ aus.

Den Ausdruck verstehen

Im Gegensatz zu dem, was es scheinen mag, wird „var a;“ ist ein gültiger Ausdruck, der als „undefiniert“ ausgewertet wird. Dies liegt daran, dass durch die Deklaration einer Variablen, ohne ihr einen Wert zuzuweisen, effektiv eine nicht initialisierte Variable erstellt wird, die den Standardwert „undefiniert“ hat.

Das Verhalten von Eval

Die Die JavaScript-Konsole verwendet die Funktion „eval“, um Ausdrücke auszuwerten. Gemäß der Eval-Spezifikation wird „undefiniert“ zurückgegeben, wenn ein Ausdruck einen leeren Wert ergibt (z. B. eine nicht initialisierte Variable).

Auswirkungen auf andere Anweisungen

Interessanterweise erstreckt sich dieses Verhalten auf andere „var“- und Funktionsdeklarationen. Wenn eine nachfolgende Anweisung ein „echtes“ Ergebnis hat, ignoriert die Konsole die „var“- und Funktionsdeklarationen und zeigt das Ergebnis der anderen Anweisung an. Zum Beispiel:

> var a = 3; var a = 4; var a = 5; function f() {};
4 // !!!
Nach dem Login kopieren

Warum die Ausnahme bei Zuweisungen

Bei Zuweisungen ("var a = 4;") ändert sich das Verhalten aufgrund der Zuweisung Die Anweisung hat ein nicht leeres Ergebnis (den zugewiesenen Wert). Dieses Ergebnis überschreibt das leere Ergebnis der vorhergehenden „var“-Deklaration.

Funktionsdeklarationen vs. Ausdrücke

Während sowohl Funktionsdeklarationen als auch Ausdrücke das Schlüsselwort „var“ verwenden, sie werden unterschiedlich bewertet. Funktionsdeklarationen (z. B. „Funktion f() {}“) werden als „undefiniert“ ausgewertet (ähnlich wie Variablendeklarationen), während Funktionsausdrücke (z. B. „(Funktion f() {})“) als Funktion selbst ausgewertet werden.

Das obige ist der detaillierte Inhalt vonWarum wird „Undefiniert' für Variablendeklarationen in der JavaScript-Konsole angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage