Neueste Web-Entwicklung Tutorials
 

JavaScript Hoisting


Hoisting ist das Standardverhalten von JavaScript von Erklärungen nach oben zu bewegen.


JavaScript Erklärungen sind gehisst

In JavaScript kann eine Variable deklariert werden, nachdem es verwendet wurde.

Mit anderen Worten; eine Variable kann verwendet werden, bevor es erklärt wurde.

Beispiel 1 gibt das gleiche Ergebnis wie Beispiel 2:

Beispiel 1

x = 5; // Assign 5 to x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;                     // Display x in the element

var x; // Declare x
Versuch es selber "

Beispiel 2

var x; // Declare x
x = 5; // Assign 5 to x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x;                     // Display x in the element
Versuch es selber "

Um dies zu verstehen, muss man den Begriff verstehen "hoisting" .

Hoisting ist das Standardverhalten von JavaScript, alle Erklärungen an die Spitze des aktuellen Bereichs bewegen (nach oben des aktuellen Skripts oder der aktuellen Funktion).


JavaScript Initialisierungen sind nicht gehisst

JavaScript hisst nur Erklärungen, nicht Initialisierungen.

Beispiel 1 gibt nicht dasselbe Ergebnis wie Beispiel 2:

Beispiel 1

var x = 5; // Initialize x
var y = 7; // Initialize y

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y
Versuch es selber "

Beispiel 2

var x = 5; // Initialize x

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

var y = 7; // Initialize y
Versuch es selber "

Ist es sinnvoll, dass y im letzten Beispiel nicht definiert ist?

Dies liegt daran, nur die Deklaration (var y), nicht die Initialisierung (= 7) nach oben gehoben wird.

Wegen der hoisting hat y erklärt worden , bevor es verwendet wird, sondern weil Initialisierungen nicht hochgezogen werden, ist der Wert von y nicht definiert.

Beispiel 2 ist das gleiche wie das Schreiben:

Beispiel

var x = 5; // Initialize x
var y;     // Declare y

elem = document.getElementById("demo"); // Find an element
elem.innerHTML = x + " " + y;           // Display x and y

y = 7;    // Assign 7 to y
Versuch es selber "

Erklären Sie Ihre Variablen an der Spitze!

Hoisting ist (zu viele Entwickler) eine unbekannte oder das Verhalten von JavaScript zu übersehen.

Wenn ein Entwickler nicht versteht hoisting kann Programme enthalten Bugs (Fehler).

Um zu vermeiden, Fehler, erklären immer alle Variablen am Anfang eines jeden Anwendungsbereich.

Da dies, wie JavaScript, um die Code interpretiert, ist es immer eine gute Regel.

JavaScript im strikten Modus erlaubt keine Variablen verwendet werden, wenn sie nicht deklariert sind.
Studie "use strict" im nächsten Kapitel.