6/15 全域變數與區域變數的差別

初學者剛接觸全域變數,

通常會覺得很方便,

因為只要宣告一次就可以全程使用。

但是有經驗的程式設計者則會相當謹慎的使用全域變數,

因為當程式的複雜度增加,

我們可能會不小心在某個函式中宣告了一個與全域變數相同的區域變數名稱,

那麼在這個函式內,

這兩個名稱相同的全域變數和區域變數就會產生混淆。

var greet = "Hello"; // 宣告一個全域變數
function say(){
    console.log(greet);
}
say();
document.getElementById('greet').textContent = greet;



function say(){
  var greet = "Hello"; //在函數中宣告一個變數的時候,此變數會被視為區域變數
    console.log(greet);
}
say();
document.getElementById('greet').textContent = greet;