Heim > Web-Frontend > js-Tutorial > Warum führt die Variablendeklaration der JavaScript-Konsole zu „Undefiniert'?

Warum führt die Variablendeklaration der JavaScript-Konsole zu „Undefiniert'?

Patricia Arquette
Freigeben: 2024-10-20 08:38:31
Original
635 Leute haben es durchsucht

Why Does JavaScript Console Variable Declaration Result in

Warum die JavaScript-Variablendeklaration in der Konsole zu „Undefiniert“ führt

Wenn Sie eine Variable in der JavaScript-Konsole mit der Syntax var a; deklarieren, es gibt „undefiniert“ aus. Dieses Verhalten kann überraschend sein und wird häufig in Stack Overflow-Beiträgen angesprochen. Diese Diskussionen können jedoch nicht vollständig erklären, warum dies geschieht.

Das Verhalten der Konsole ist ein direktes Ergebnis der Art und Weise, wie JavaScript Ausdrücke auswertet. Bei der Auswertung der Anweisung var a; betrachtet JavaScript diese als eigenständigen Ausdruck und gibt ihr Ergebnis zurück, das tatsächlich „undefiniert“ ist.

Rätselhafter ist es, warum die Konsole beim Deklarieren einer Variablen auch „undefiniert“ ausgibt mit einem Anfangswert wie var a = 3. Überraschenderweise geben alle Variablendeklarationsanweisungen in JavaScript (sowohl var als auch Funktion) „undefiniert“ zurück, wenn es eine andere Anweisung mit einem „echten“ Ergebnis gibt.

Zum Beispiel :

> var a = 3;
undefined

> var a = 3; a = 4;
4

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

Dieses Verhalten hat seinen Ursprung in der eval-Anweisung, die gemäß der ECMAScript-Spezifikation:

  • „undefiniert“ zurückgibt, wenn der Abschlusswert des ausgewerteten Programms leer ist .

Die Auswertung der var a = 4-Anweisung gibt (normal, leer, leer) zurück, was die Kriterien für die Rückgabe von „undefiniert“ erfüllt.

Die Auswertung gibt jedoch auch an dass, wenn der Abschlusswert des ausgewerteten Programms nicht leer ist, der Wert der letzten Anweisung zurückgegeben wird. Im letzten Beispiel ist a = 4 die letzte Anweisung, daher wird ihr Wert (4) zurückgegeben.

Zusammenfassend gibt die JavaScript-Konsole „undefiniert“ für Variablendeklarationen aus, da diese Deklarationen „undefiniert“ zurückgeben, wenn sie als ausgewertet werden Ausdrücke. Dieses Verhalten kann verwirrend sein, insbesondere beim Zuweisen von Anfangswerten zu Variablen, aber es ist auf die zugrunde liegenden Auswertungsmechanismen von JavaScript-Ausdrücken und -Anweisungen zurückzuführen.

Das obige ist der detaillierte Inhalt vonWarum führt die Variablendeklaration der JavaScript-Konsole zu „Undefiniert'?. 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