變量聲明提升
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.