Heim  >  Artikel  >  Web-Frontend  >  So verstehen Sie das Heben von Variablen in JavaScript

So verstehen Sie das Heben von Variablen in JavaScript

清浅
清浅Original
2019-04-20 11:20:522779Durchsuche

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

So verstehen Sie das Heben von Variablen in JavaScript

Beispiel:

function exampleFunction() { 
 var x = "declared inside function";
 console.log("Inside function"); 
 console.log(x);
 }
 console.log(x);
Rendering:

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.


Beispiel

So verstehen Sie das Heben von Variablen in JavaScript

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

So verstehen Sie das Heben von Variablen in JavaScriptIm 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;}

Aus diesem Grund ist das Ergebnis von console.log(bar) undefiniert und console.log(foo) meldet einen Fehler

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!

Stellungnahme:
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
Vorheriger Artikel:Erste Schritte mit TypeScriptNächster Artikel:Erste Schritte mit TypeScript