In JavaScript gibt es zwei Phasen des Globaler Ausführungskontext:
In der Erstellungsphase werden die Erklärungen im Zusammenhang mit Variablen und Funktionen auf die Spitze des Zielfernrohrs verschoben, bekannt als "Heben“. Es wird auch als Standardverhalten von JavaScript angesehen.
Dieser Beitrag erklärt das Heben in JavaScript zusammen mit den geeigneten Beispielen. So lass uns anfangen!
Variable Heizen in JavaScript
Die JavaScript -Engine verschiebt die variablen Erklärungen automatisch auf das Top des Programms oder Skripts. Dieser Prozess ist als "bekannt"Variable Hebezeuge”.
Beispiel: Variable Heizen in JavaScript
Im folgenden Beispiel haben wir eine Variable mit dem Namen "genannt" deklariert "Nummer"Und initialisierte seinen Wert"4„, Aber vorher verweisen wir auf“Nummer"Variable durch die"Konsole.Protokoll()" Methode:
Konsole.log (number);In diesem Fall die “Nummer”Die variable Deklaration wird automatisch auf das Oberteil des Skripts verschoben. Aus diesem Grund hat sich die Ausführung des bereitgestellten Fehlers auf keinen Fehler gestoßen:
In Bezug auf die Syntax sieht der Code in der Ausführungsphase so aus:
var number;Also, was passiert im Hintergrund passiert ist? Die JavaScript -Engine hat dem Speicher dem Speicher bereitgestelltNummer"Variable während der Erstellungsphase der globalen Ausführungskontext und dann ihre Werte als" festlegen "nicht definiert”.
Lassen Sie Keywords in JavaScript heben
In JavaScript, die mit dem definierten Variablen “lassenDas Schlüsselwort wird am Oberteil des Skripts gehisst, aber die Engine initialisiert sie nicht. Der Codeblock kennt die definierte Variable; Es kann jedoch erst verwendet werden, wenn wir die angegebene Variable deklarieren.
Beispiel: Lassen Sie das Schlüsselwort in JavaScript heben
Wir werden dasselbe deklarieren “Nummer"Variable mit der"lassen" Stichwort:
Zahl = 6;Der angegebene Code generiert eine “ReferenzError" dass die "Nummer”Variable ist nicht definiert:
Das begegnen "ReferenzError”Bedeutet auch, dass das“NummerDie Variable wird im Heap -Speicher platziert, aber es wird noch nicht initialisiert.
Wir werden versuchen, auf eine Variable zuzugreifen “AlphaDas existiert nicht in der Erinnerung. In diesem Fall wird die Ausgabe eine andere anzeigen “ReferenzError" dass die "Alpha”Variable ist nicht definiert:
Konsole.log (Alpha);Ausgang
Schauen wir uns nun heraus.
Funktion, das in JavaScript hebt
Die Funktionserklärungen werden auch von der JavaScript -Engine auf die Spitze des Skripts verschoben. Ähnlich wie bei Variablen bietet JavaScript die Funktionalität für die Deklarationen der Funktionen von Hebeplätzen.
Beispiel: Funktionsheimen in JavaScript
Im folgenden Beispiel das “hinzufügen()Die Funktion wird vor dem Hinzufügen ihrer Definition aufgerufen:
Sei a = 45,Das Programm gibt jedoch weiterhin den von dem zurückgegebenen Wert aushinzufügen()Funktion:
Wenn das angegebene Beispiel ausgeführt wird, verteilt die JavaScript -Engine der Deklaration des “Speicher Speicherhinzufügen()”Funktion. Insbesondere ein JavaScript “Objekt”Wird gemäß der Art von“ erstellt “hinzufügen()Funktionstyp und fügt auch eine "hinzu"Funktionsreferenz" genannt "hinzufügen,Das auf das erstellte Objekt hinweist.
Technisch gesehen wird in der JavaScript-Engine das oben gegebene Beispiel wie folgt ausgeführt:
Funktion add (x, y)Ausgang
Beide Programme erzeugten die gleiche Ausgabe. Jetzt werden wir versuchen zu heben Funktionsausdrücke In JavaScript.
Funktionsausdrücke, die in JavaScript heben
In einem JavaScript -Funktionsausdruck, Eine Variable wird mit einem Funktionswert initialisiert. Infolgedessen wird die benannte Variable nur gehoben, nicht ihre Funktion.
Beispiel: Funktionsausdrücke, die in JavaScript heben
Wir werden unsere Stammgast ändern “hinzufügen()”Funktion zu einer“Funktionsausdruck”:
var add = Funktion add (x, y)Diesmal a "Typeerror"Wird im Konsolenfenster angezeigt, in dem das informiert wird"hinzufügen”Ist keine Funktion:
Wir haben vor dem obigen Geben konfrontiert “Typeerror"Weil die JavaScript -Engine platziert"hinzufügen" Als ein "Variable”Im Speicher, nicht als Funktion.
Das waren alles kritische Informationen, die mit Heben In JavaScript. Sie können dieses Thema nach Ihren Vorlieben weiter untersuchen.
Abschluss
Heben In JavaScript wird unterstützt für Variablen Und Funktionen Erklärungen. In der Erstellungsphase des globalen Ausführungskontexts wird die Erklärung in Bezug auf Variablen und Funktionen auf die Spitze des Umfangs verschoben. Auf diese Weise wird ein Ort im Gedächtnis zugewiesen, der es uns ermöglicht, Variablen und Funktionen vor der Erklärung zu verwenden. In diesem Artikel wurde das Heben in JavaScript zusammen mit geeigneten Beispielen erläutert.