var a = 10;
function b(){
alert(a);
var a = 5;
}
b(); //undefind
因为预编译 相当于
var a = 10;
function b(){
var a; // var 的时候是undefined
alert(a);
a = 5;
}
b(); //undefind
var a = 10;
function b()
alert(a);
a = 5;
}
b(); //10
变量未声明归window 所有,全局中变量即使生命也归window 所有
var a = 10;
function b(){
// alert(a);
var a = 5;
}
b();
console.log(window.a) //10
a = 10;
function b(){
// alert(a);
var a = 5;
}
b();
console.log(window.a) //10
var a = 10;
function b(){
// alert(a);
a = 5;
}
b();
console.log(window.a) //5
a = 10;
function b(){
// alert(a);
a = 5;
}
b();
console.log(window.a) //5