Ich lerne Javascript selbst. Heute stieß ich auf ein Codebeispiel, das ziemlich verwirrend ist.Javascript Funktionsvariable sollte Fehler anstelle von undefined generieren
function fool(a, b){
if(b)
var c = "Mary"
alert(c);
}
fool(1, true); //Returns "Mary"
fool(1, false); //Returns undefined instead of error
Auf der anderen Seite, wenn ich tun, um diese
function fool(a, b){
//if(b)
// var c = "Mary"
alert(c);
}
fool(1, true); //Firebug error: ReferenceError: c is not defined
fool(1, false);
ist ein Fehler auf der ersten Chance auftritt. Wie ist das?
Lesen Sie helfen über [_Variable hoisting_] (http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html) – Rayon