переменная javascript не определена
Во-первых, давайте посмотрим код.
var a=0;
b=1;
document.write(a);
function run(){
document.write(b);
var b=1;
}
run();
Я думаю, что результат01
.но на самом деле, результат0undefined
.
Затем я модифицирую этот код.
var a=0;
b=1;
document.write(a);
function run(){
document.write(this.b); //or document.write(window.b)
var b=1;
}
run();
Да, на этот раз все идет как положено.01
, Я не могу понять, ПОЧЕМУ?
Более интересно, я изменяю код снова.
var a=0;
b=1;
document.write(a);
function run(){
document.write(b);
//var b=1; //I comment this line
}
run();
Результат 01.
Итак, кто-нибудь может объяснить это?
Спасибо, что поделились своими взглядами. Я упрощаю этот код
b=1;
function run(){
console.log(b); //1
}
два:
b=1;
function run(){
var b=2;
console.log(b); //2
}
три:
b=1;
function run(){
console.log(b); //undefined
var b=2;
}