javascript變數作用於簡單介紹

antzone發表於2017-03-21

本章節簡單介紹一下javascript作用域問題,希望能夠給初學者帶來一定的幫助。

在javascript中,只有函式作用域沒有塊級作用域,在函式外部宣告的變數時全域性變數。下面看程式碼例項:

例項一:

[JavaScript] 純文字檢視 複製程式碼
function sayHello(){
  var antzone="螞蟻部落歡迎您";
}
sayHello();
console.log(antzone);

函式形成了一個作用於,那麼用var在內部生命的變數就是區域性變數,在函式外無法訪問。

例項二:

[JavaScript] 純文字檢視 複製程式碼
for(var i=0;i<5;i++){
  console.log(i);
}
console.log(i);

在c#等語言中,for迴圈等等語句塊會形成塊級作用域,但是在js中不會,所以在語句外面依然可以訪問變數i。

例項三:

[JavaScript] 純文字檢視 複製程式碼
function sayHello(){
  var antzone="螞蟻部落歡迎您";
  age=3;
}
sayHello()
console.log(age);

不用var宣告一個變數,無論此變數是否是在函式中宣告都是全域性的,所以age是一個全域性變數。

例項四:

[JavaScript] 純文字檢視 複製程式碼
var antzone="螞蟻部落";
function sayHello(){
  var antzone="螞蟻部落歡迎您";
  console.log(antzone);
}
sayHello()
console.log(antzone);

函式中的區域性變數可以覆蓋全域性變數。

相關文章