javascript作用域簡單介紹

admin發表於2017-02-11

作用域在javascript中是必須要掌握的一個知識點,但對於初學者來說往往會造成不小的麻煩,下面就簡單介紹一下這個知識點,讓初學者能夠對此有個簡單的瞭解,並且,能夠實現基本的應用。

一.變數的宣告:

變數的作用域和變數的宣告有直接關係,下面先介紹一下變數宣告的幾種方式:

[JavaScript] 純文字檢視 複製程式碼
var value;
var value,value1,value2;//同時宣告多個變數,但是這些變數的值都是undefined
var i = 0,j = 0,k=100;//變數宣告,初始化一體。

如果檢視讀取不存在的變數的值會報錯,但是給未使用var宣告的變數賦值,javascript會隱式的宣告此變數,並且此變數的作用域是全域性,所以建議在宣告變數的時候儘可能的使用var 關鍵字。

二.變數的作用域:

[JavaScript] 純文字檢視 複製程式碼
var golbal = "golbal"; //全域性變數
var local ="local";//全域性變數
function area(){
  var local = "arealocal";//區域性變數的優先順序比全域性變數的高
  var golbal ="areagolbal"; //當函式體內宣告的變數名和全域性變數名相同時,javascript會隱藏全域性變數
  document.write("local is :"+local + "and golbal is :" + golbal +"<br />");
}
area();

在函式體外宣告的變數作用域是全域性的,可以在全域性範圍內使用,在函式體內宣告的變數作用域限於宣告所在的函式。如果如果函式體內的變數名和全域性變數是相同的,那麼在此區域性作用域內,全域性變數會被隱藏。

再來看一個程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var variable="全域性變數";//全域性變數
function a(){
  var variable ="函式a內的區域性變數";//區域性變數
  //巢狀函式
  function aa(){
    var variable="函式aa內的區域性變數";//區域性變數</P>
    var x="螞蟻部落";
    document.write(variable);
  }
  console.log(variable);
}
a();

相關文章