(Created page with "==Variablen-Hoisting==") |
No edit summary |
||
Line 1: | Line 1: | ||
==Variablen-Hoisting== | ==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: | |||
<source lang="javascript"> | |||
function doCalc(){ | |||
var aNumber = 4; | |||
console.log("Die Nummer ist:"+aNumber); | |||
var anotherNumber = aNumber*2; | |||
console.log("Die andere Nummer ist:"+anotherNumber); | |||
} | |||
</source> | |||
Bei der Ausführung vom Interpreter so "umgeschreiben" wird: | |||
<source lang="javascript" highlight="2,3"> | |||
function doCalc(){ | |||
var aNumber; | |||
var anotherNumber; | |||
aNumber = 4; | |||
console.log("Die Nummer ist:"+aNumber); | |||
anotherNumber = aNumber*2; | |||
console.log("Die andere Nummer ist:"+anotherNumber); | |||
} | |||
</source> |
Revision as of 19:37, 3 February 2013
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);
}