Das „Automatisches Heben“ (engl. hoisting) ist eine Besonderheit von JavaScript, bei der Deklarationen von Variablen und Funktionen automatisch an den Anfang des JavaScript-Codes, bzw. an den Anfang eines Funktionsblocks gehoben werden. Damit können Variablen und Funktionen verwendet werden, bevor sie deklariert werden:
Durch das „Automatischen Heben“ können Variablen verwendet werden, bevor sie deklariert werden. Das „Automatische Heben“ bezieht sich aber nur auf die Deklaration und nicht auf die Initialisierung, d. h. der initialen Wertzuweisung:
HTML-Datei:
Ergebnis:
a1 =
b1 =
a1 in myFunc11() =
c1 in myFunc11() =
a1 in myFunc12() =
a1 in myFunc12() =
Hinweise zum Beispiel:
Durch das „Automatischen Heben“ können auch Funktionen verwendet werden, bevor sie deklariert werden:
HTML-Datei:
Ergebnis:
add2(a, b) =
test2() =
test2() in myFunc21() =
test2() in myFunc22() =
Hinweise zum Beispiel:
Bei Objekten funktioniert das „Automatische Heben“, wenn das Objekt mit Hilfe eines Literals („Name:Wert“-Paare innerhalb von geschweiften Klammern) deklariert wird und bei Objekt-Konstruktoren:
HTML-Datei:
Ergebnis:
obj31.a =
obj32.a =
obj33.a =
obj34.a =
Als Abschlussübung kannst du folgende Beispielseite erstellen:
obj4.out() =
myFunc41(x4) =
Gehe dabei wie folgt vor:
Die Lösung kannst du dir hier herunterladen: