變數的作用域--js閉包

瓜瓜東西發表於2014-04-12

詳細出處參考:http://www.jb51.net/article/24101.htm

要理解閉包,首先必須理解Javascript特殊的變數作用域。 


變數的作用域無非就是兩種:全域性變數和區域性變數。 


Javascript語言的特殊之處,就在於函式內部可以直接讀取全域性變數。 




Js程式碼 


  var n=999;


  function f1(){
    alert(n);
  }


  f1(); // 999


另一方面,在函式外部自然無法讀取函式內的區域性變數。 


Js程式碼 


  function f1(){
    var n=999;
  }


  alert(n); // error


這裡有一個地方需要注意,函式內部宣告變數的時候,一定要使用var命令。如果不用的話,你實際上宣告瞭一個全域性變數! 


Js程式碼 


  function f1(){
    n=999;
  }


  f1();


  alert(n); // 999


--------------------------------------------------------------------------------------------------------


詳細出處參考:http://www.jb51.net/article/24101.htm

相關文章