天天看點

JavaScript經典題目彙總變量聲明提升變量聲明var

變量聲明提升

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.

繼續閱讀