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. | ''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: | d.h., dass aus einem Code, der so geschrieben wurde: | ||
<source lang="javascript"> | <source lang="javascript" highlight="3,5"> | ||
function doCalc(){ | function doCalc(){ | ||
console.log("Hello Programmer!"); | |||
var aNumber; //Deklaration | |||
console.log(" | aNumber = 4; //Zuweisung | ||
var anotherNumber = aNumber*2; //Deklaration und Zuweisung | |||
var anotherNumber = aNumber*2; | |||
console.log("Die andere Nummer ist:"+anotherNumber); | console.log("Die andere Nummer ist:"+anotherNumber); | ||
} | } | ||
Line 19: | Line 17: | ||
<source lang="javascript" highlight="2,3"> | <source lang="javascript" highlight="2,3"> | ||
function doCalc(){ | function doCalc(){ | ||
var aNumber; | var aNumber; //Deklaration | ||
var anotherNumber; | var anotherNumber; //Deklaration | ||
aNumber = 4; | console.log("Hello Programmer!"); | ||
aNumber = 4; //Zuweisung | |||
console.log("Die Nummer ist:"+aNumber); | console.log("Die Nummer ist:"+aNumber); | ||
anotherNumber = aNumber*2; //Zuweisung | |||
anotherNumber = aNumber*2; | |||
console.log("Die andere Nummer ist:"+anotherNumber); | console.log("Die andere Nummer ist:"+anotherNumber); | ||
} | } | ||
</source> | </source> |
Revision as of 19:46, 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(){
console.log("Hello Programmer!");
var aNumber; //Deklaration
aNumber = 4; //Zuweisung
var anotherNumber = aNumber*2; //Deklaration und Zuweisung
console.log("Die andere Nummer ist:"+anotherNumber);
}
Bei der Ausführung vom Interpreter so "umgeschreiben" wird:
function doCalc(){
var aNumber; //Deklaration
var anotherNumber; //Deklaration
console.log("Hello Programmer!");
aNumber = 4; //Zuweisung
console.log("Die Nummer ist:"+aNumber);
anotherNumber = aNumber*2; //Zuweisung
console.log("Die andere Nummer ist:"+anotherNumber);
}