zmienna javascript jest niezdefiniowana
Najpierw zobaczmy kod.
var a=0;
b=1;
document.write(a);
function run(){
document.write(b);
var b=1;
}
run();
Myślę, że wynik jest01
, ale w rzeczywistości jest0undefined
.
Następnie modyfikuję ten kod.
var a=0;
b=1;
document.write(a);
function run(){
document.write(this.b); //or document.write(window.b)
var b=1;
}
run();
Tak, tym razem działa zgodnie z oczekiwaniami.01
. Nie mogę zrozumieć, DLACZEGO?
Bardziej interesujące, modyfikuję kod ponownie.
var a=0;
b=1;
document.write(a);
function run(){
document.write(b);
//var b=1; //I comment this line
}
run();
Wynik to 01.
Czy ktoś może to wyjaśnić?
Dziękujemy za udostępnienie swoich punktów widzenia. Upraszczam ten kod
b=1;
function run(){
console.log(b); //1
}
dwa:
b=1;
function run(){
var b=2;
console.log(b); //2
}
trzy:
b=1;
function run(){
console.log(b); //undefined
var b=2;
}