JavaScript-Heben (mit Beispielen)

Inhaltsverzeichnis

In diesem Tutorial lernen Sie anhand von Beispielen das Heben von JavaScript kennen.

Das Heben in JavaScript ist ein Verhalten, bei dem eine Funktion oder eine Variable vor der Deklaration verwendet werden kann. Beispielsweise,

 // using test before declaring console.log(test); // undefined var test;

Das obige Programm funktioniert und die Ausgabe ist undefiniert. Das obige Programm verhält sich wie folgt

 // using test before declaring var test; console.log(test); // undefined

Da der Variablentest nur deklariert ist und keinen Wert hat, undefinedwird ihm ein Wert zugewiesen.

Wenn Sie mehr über Variablen erfahren möchten, besuchen Sie JavaScript-Variablen.

Hinweis : Beim Heben scheint die Deklaration im Programm nach oben verschoben worden zu sein. Tatsächlich werden jedoch die Funktions- und Variablendeklarationen während der Kompilierungsphase zum Speicher hinzugefügt.

Variables Heben

In Bezug auf Variablen und Konstanten wird das Schlüsselwort vargehisst letund consterlaubt kein Heben.

Beispielsweise,

 // program to display value a = 5; console.log(a); var a; // 5

Im obigen Beispiel wird die Variable a verwendet, bevor sie deklariert wird. Und das Programm funktioniert und zeigt die Ausgabe 5 an. Das Programm verhält sich wie folgt:

 // program to display value var a; a = 5; console.log(a); // 5

In JavaScript werden Initialisierungen jedoch nicht gehisst. Beispielsweise,

 // program to display value console.log(a); var a = 5;

Ausgabe

 nicht definiert

Das obige Programm verhält sich wie folgt:

 var a; console.log(a); a = 5;

In der Kompilierungsphase wird nur die Deklaration in den Speicher verschoben. Daher liegt der Wert der Variablen a darin, undefineddass a gedruckt wird, ohne es zu initialisieren.

Wenn die Variable innerhalb der Funktion verwendet wird, wird sie nur an den oberen Rand der Funktion angehoben. Beispielsweise,

 // program to display value var a = 4; function greet() ( b = 'hello'; console.log(b); // hello var b; ) greet(); // hello console.log(b);

Ausgabe

 Hallo Ungefangener Referenzfehler: b ist nicht definiert

Im obigen Beispiel wird die Variable b an den Anfang der Funktion greetgehoben und wird zu einer lokalen Variablen. Daher ist b nur innerhalb der Funktion zugänglich. b wird keine globale Variable.

Weitere Informationen zu lokalen und globalen Variablen finden Sie unter JavaScript-Variablenbereich.

Hinweis : Beim Heben ist die Variablendeklaration nur für den unmittelbaren Bereich zugänglich.

Wenn eine Variable mit dem letSchlüsselwort verwendet wird, wird diese Variable nicht angehoben. Beispielsweise,

 // program to display value a = 5; console.log(a); let a; // error

Ausgabe

 Nicht erfasster Referenzfehler: Vor der Initialisierung kann nicht auf 'a' zugegriffen werden

Während der Verwendung letmuss die Variable zuerst deklariert werden.

Funktion Heben

Eine Funktion kann vor dem Deklarieren aufgerufen werden. Beispielsweise,

 // program to print the text greet(); function greet() ( console.log('Hi, there.'); )

Ausgabe

 Hallo

Im obigen Programm wird die Funktion greetvor dem Deklarieren aufgerufen und das Programm zeigt die Ausgabe an. Dies ist auf das Heben zurückzuführen.

Wenn jedoch eine Funktion als Ausdruck verwendet wird , tritt ein Fehler auf, da nur Deklarationen hochgezogen werden. Beispielsweise;

 // program to print the text greet(); let greet = function() ( console.log('Hi, there.'); )

Ausgabe

 Nicht gefangener Referenzfehler: Begrüßung ist nicht definiert

Wenn varim obigen Programm verwendet würde, wäre der Fehler:

 Nicht gefangener TypeError: Begrüßung ist keine Funktion

Hinweis : Im Allgemeinen wird das Heben nicht in anderen Programmiersprachen wie Python, C, C ++, Java durchgeführt.

Das Heben kann zu unerwünschten Ergebnissen in Ihrem Programm führen. Und es ist am besten, zuerst Variablen und Funktionen zu deklarieren, bevor Sie sie verwenden, und ein Heben zu vermeiden.

Bei Variablen ist es besser zu verwenden letals var.

Interessante Beiträge...