Variablen-Hoisting
Hoisting ist das "hochziehen" von Variablen an den Funktionsanfang; so als wären Variablen die irgendwo in der Funktion deklariert worden, eigentlich Anfang der Funktion deklariert. Der Javascript-Interpreter macht dies automatisch. Von diesem Verhalten ist allerdings nur die Deklaration betroffen nicht die Zuweisung eines Wertes zu der Variablen.
d.h., dass aus einem Code, der so geschrieben wurde:
function doCalc(){
    var aNumber = 4;
    console.log("Die Nummer ist:"+aNumber);
    
    var anotherNumber = aNumber*2;
    console.log("Die andere Nummer ist:"+anotherNumber);
}Bei der Ausführung vom Interpreter so "umgeschreiben" wird:
function doCalc(){
    var aNumber;
    var anotherNumber;
    aNumber = 4;
    console.log("Die Nummer ist:"+aNumber);
    anotherNumber = aNumber*2;
    console.log("Die andere Nummer ist:"+anotherNumber);
}