iT邦幫忙

3

JavaScript 基礎知識-全域變數和區域變數

  • 分享至 

  • xImage
  •  

前面有介紹到變數的部分,細分的話,主要有分全域變數和區域變數,以下來舉例說明:

function count(Num){
    var total = Num * 5;
}
console.log(total);

若此時在 console 輸出,會出現錯誤
這是因為,我們雖然有宣告變數 total ,但是是在 function 內,作用域也只在 fucntion 內,這就是所謂的區域變數

若今天改變一下 total 變數的位置,如下:

var total;

function count(Num){
    alert(hi);
}
console.log(total);

此時輸出會是 undefinded 因為我們宣告了 total 變數,卻還未賦予值
而 total 會被視為全域變數,因為它的作用域就不只被侷限在 function 內,而是全部的作用域

而之所以會有全域變數跟區域變數區別外,除了作用域的不同,跟記憶體也有關
當我們變數宣告在 function 內為區域變數,我們呼叫 function 時,此時變數才會被建立佔用記憶體,而當 function 執行完畢時,就會被刪除,記憶體空間也會被釋放
反之,全域變數是只要宣告之後就會佔用記憶體空間,而佔用記憶體空間會影響到使用者的電腦效能問題,所以當我們在宣告變數時,要思考這個變數的作用,是可以放在全域,還是宣告在 function 內即可。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言