一旦執行JavaScript程式, 程式碼都是在執行環境(execution context)裡面建立和執行。(執行環境:一個wrapper,把正在執行的程式碼包在執行環境裡面。)
然而相較於執行環境,另外有一個基礎執行環境(base execution context),又稱做全域執行環境。
全域(Global)
‘Global’ means ‘not inside a function’
簡而言之,當程式碼或變數不再函式中,就是全域的。
全域環境
在全域執行環境中,JavaScript會自動創造兩個東西:
- Global Object:全域物件
- this:一個特殊的變數
全域物件
「全域物件」,可以在任何地方被取用。
this變數
在沒有寫任何程式碼的情況之下,啟用window瀏覽器執行,這時候全域執行環境中會自動產生一個全域物件-window物件,以及this這個特殊變數。
同一個瀏覽器,開啟另一個分頁,就會創建另外一個全域執行環境,也會獨立產生一個全域物件及this變數。