variável javascript é indefinida
Primeiro, vamos ver o código.
var a=0;
b=1;
document.write(a);
function run(){
document.write(b);
var b=1;
}
run();
Eu acho que o resultado é01
.mas de fato, o resultado é0undefined
.
Então eu modifico esse código.
var a=0;
b=1;
document.write(a);
function run(){
document.write(this.b); //or document.write(window.b)
var b=1;
}
run();
Sim, desta vez funciona como esperado.01
. Eu não consigo entender, por quê?
Mais interessante, modifico o código novamente.
var a=0;
b=1;
document.write(a);
function run(){
document.write(b);
//var b=1; //I comment this line
}
run();
O resultado é 01.
Então, alguém pode explicar isso?
Obrigado por compartilhar seus pontos de vista. Eu simplifico esse código
b=1;
function run(){
console.log(b); //1
}
dois:
b=1;
function run(){
var b=2;
console.log(b); //2
}
três:
b=1;
function run(){
console.log(b); //undefined
var b=2;
}