天天看點

js(javascript)小談變量聲明(顯隐聲明,聲明提前)

var a=5;
function fun(){
    a=0;         
    alert(a);         //0
    alert(this.a);    //5
    var a; 
    alert (a);        //0
    
}
fun();      

以上代碼  将會輸出  0 ,5,0.

首先在js中我們的變量聲明指派分為兩個部分 。

1.變量的聲明 var a;2.變量的指派 a=2;

但是一般我們會把變量的聲明和指派寫在 一起 也就是  var a=2;

而在js 中變量的聲明會被提前到 目前作用域的開始,也就是說以上代碼和下面代碼是等價的

var a=5;
function fun(){
    var a;           //變量的聲明提前
    a=0;              //指派語句保持不變
    alert(a);         //0
    alert(this.a);    //5
    alert (a);        //0
    
}      
var a=5;
function fun(){
    a=0;              
    alert(a);         //0
    alert(this.a);    //0
    alert (a);        //0
    
}