Ich habe versucht zu verstehen, JavaScript-hotieren und von dem, was ich verstanden habe, Speicherplatz für alle Variablendeklarationen vor der Ausführung des Codes reserviert ist.JavaScript-Hochladen für mehrere Deklarationen der gleichen Variablen
Ich würde gerne verstehen, wie der Interpreter durch das Hochziehen im Falle von mehreren Deklarationen für die gleiche Variable funktioniert. Betrachten Sie den folgenden Code ein:
console.log(a);
//first declaration
function a() {
console.log('hello');
}
//second declaration
var a = 2;
Die Ausgabe ist die Funktionsdeklaration:
function a() {
console.log('hello');
}
Also, ich bin die erste Erklärung der Annahme der Dolmetscher begegnet ist derjenige, der im Speicher gespeichert ist. Ändern Sie jedoch die Reihenfolge der Deklarationen zu:
console.log(a);
//first declaration
var a = 2;
//second declaration
function a() {
console.log('hello');
}
Ergebnisse in der gleichen Ausgabe! Der Interpreter ignoriert die erste Deklaration und speichert die zweite Deklaration im Speicher. Warum passiert dies? Sollte der Ausgang im zweiten Fall nicht undefined
sein?
so nachfolgende mehrere Erklärungen ignoriert, wenn sie einen bereits zugewiesenen Wert zu undefinierten zu setzen versuchen? –
@TarunDugar Ja genau. Die bereits zugewiesenen Werte werden nicht durch eine Variablendeklaration undefiniert ersetzt. –
Ok, hab es! Vielen Dank. –