Heim > Artikel > Web-Frontend > So verstehen Sie das Heben von Variablen in JavaScript
Variablenheraufstufung in JavaScript bedeutet, dass die Deklarationen von Variablen und Funktionen an den Anfang des Codes verschoben werden, die Positionen der Deklarationen von Variablen und Funktionen jedoch nicht verschoben werden, sondern nur während des Kompilierungsprozesses im Speicher abgelegt werden .
Obwohl JavaScript eine interpretierte Sprache ist, besteht ein wichtiger Schritt in der Webentwicklung vor der Ausführung darin, dass der Interpreter den Code durchsucht und alle deklarierten Variablen identifiziert, Notizen macht, wenn sie neu zugewiesen werden, und Codeblöcke in drei Umfangsebenen aufteilt: Block, Funktion und global. Als nächstes werde ich die variable Werbung in JavaScript im Detail vorstellen. Ich hoffe, dass sie für alle hilfreich ist >JavaScript-Tutorial
】
Der Umfang der Funktion im obigen Beispiel umfasst die Variable x, sodass die Variable nur innerhalb dieser Funktion bekannt ist. Wenn Sie im globalen Bereich darauf zugreifen, wird ein Fehler gemeldet, da x keine deklarierte Variable ist.
Wenn Sie die Deklaration von x außerhalb der Funktion verschieben, befindet sie sich im globalen Gültigkeitsbereich und ist außerhalb oder innerhalb der Funktion verfügbar.var x = "declared outside function"; exampleFunction(); function exampleFunction() { console.log("Inside function"); console.log(x);} console.log("Outside function"); console.log(x);
Rendering:
Mit dem Erscheinen von ES6, Two Neue Methoden zur Förderung von Variablen werden eingeführt: let- und const-Methoden. Diese Methoden ermöglichen eine detailliertere Kontrolle über den für die Variable verfügbaren Bereich. Durch let und const definierte lokale Variablen können nur auf der Ebene verwendet werden, auf der sie definiert sind
Variablenförderung
Im folgenden Beispiel deklariert x var , und x ruft in der gesamten Funktion und im Unterblock dieselbe Variable auf. Wenn x mit let oder const deklariert wird, kann der äußere Bereich nicht darauf zugreifen. Wenn wir let x erneut im Submodul deklarieren, handelt es sich tatsächlich um eine andere Variable
function varTest() { var x = 1; if (true) { var x = 2; console.log(x); // 2 } console.log(x); // 2 } function letTest() { let x = 1; if (true) { let x = 2; console.log(x); // 2 } console.log(x); // 1}Beispiel: >
function doSomething() { console.log(bar); // undefined console.log(foo); // ReferenceError var bar = 1; let foo = 2;}In dieser Funktion wird die Deklarationsleiste an den oberen Rand des Bereichs verschoben. Eigentlich wird es so ausgeführt:
function doSomething() { var bar; console.log(bar); // undefined console.log(foo); // ReferenceError bar = 1; let foo = 2;}
Das ergibt so etwas wie Dies ist möglich:
num = 6; console.log(num); // returns 6 var num;
und:
dogName("Watson"); function dogName(name) { console.log("My dog's name is " + name); }
Im ersten Beispiel wird die Variablennummer zwar nach der Zuweisung deklariert, aus Sicht des Computers ist dies jedoch der Fall. Beachten Sie, dass wir dies getan haben Nachdem wir es global deklariert haben, verschieben wir die Deklaration nach oben und fahren mit der Ausführung des restlichen Codes fort. Selbst wenn wir im zweiten Beispiel die Funktion aufrufen/aufrufen, bevor wir sie definieren, wird die Definition an die Spitze des Gültigkeitsbereichs gehoben, sodass der Interpreter bereits weiß, was dogName() ist, wenn wir tatsächlich mit der Ausführung des Codes beginnen. .
Hinweis: Bei Var-Variablen wird nur die Deklaration gehisst, nicht die Zuweisung.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für alle beim Erlernen der Variablenverbesserung hilfreich sein wird.
Das obige ist der detaillierte Inhalt vonSo verstehen Sie das Heben von Variablen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!