首頁 >web前端 >前端問答 >javascript中全域變數與局部變數有何區別

javascript中全域變數與局部變數有何區別

青灯夜游
青灯夜游原創
2022-02-15 17:02:3917160瀏覽

區別:1、全域變數的生命週期取決於視窗的建立和銷毀,而局部變數的生命週期依賴函數的呼叫週期,從開始呼叫到結束呼叫;2、全域變數定義在函數外,局部變數定義在函數體內;3、所在的記憶體不同,全域變數在堆中,而局部變數在堆疊中。

javascript中全域變數與局部變數有何區別

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

局部變數:函數內部 定義的變數稱為局部變數。

全域變數:函數外定義的變數就是全域變數。

局部變數和全域變數的差異:

1:作用域不同

局部變數的作用域是目前函數內。

全域的變數的作用域是整個script 標籤內。包括函數內。

2: 生命週期不同

局部變數的生命週期,依賴函數的呼叫週期,從開始呼叫到結束呼叫。

全域變數的生命週期,取決於視窗的建立和銷毀。

3:定義的位置不同

局部的定義在函數體內。

全域的定義在函數外。

4:被存取的優先權不同。

如果局部變數和全域變數有重名的,那麼在函數內局部變數的被存取的優先權會更高。可以透過 window. 去存取全域的變量,或是 this。

5:所在的記憶體不同

局部的在堆疊幀中,堆疊幀在堆疊中。

全域的屬於window物件的屬性,window物件在堆記憶體中;所以全域的在堆中。

6:被存取的速度不同

局部變數的存取的效率高於全域的。

【相關推薦:javascript學習教學

#

以上是javascript中全域變數與局部變數有何區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn