变量声明提升
1.考察this指向和变量声明提升
var a = ;
function test(){
a = ;
alert(a);
alert(this.a);
var a;
alert(a);
}
test();
正确答案是:100, 10, 100
2.考察变量声明提升
var a = ;
function test(){
alert(a);
var a = ;
alert(a);
}
test();
答案:undefined,10
解析:
上面的代码经过变量声明提升后等价于下面:
var a = ;
function test(){
var a;
alert(a);//undefined,,理所当然
a = ;
alert(a);//10,毋庸置疑
}
test();
变量声明var
1..考察var关键字
var a = ;
function test(){
alert(a);
a = ;
alert(a);
}
test();
alert(a);
答案:100,10,10
4.