全域環境和全域物件

全域環境

Nick Wu
不想放棄設計的前端工程師
2 min readOct 31, 2018

--

我們已經知道,不論何時執行 JavaScript 程式,他都是在執行環境 (Execution Context) 裡面執行。所以當我們打開一個空白的 JavaScript 程式時,畫面上是空白的沒有錯,但現在我們看到的是他背後的整個執行環境被建立和執行。

而這一個基礎的執行環境 (Base execution context) 或稱為全域執行環境 (Global execution context),是程式一開始執行時的最初的環境,當我們稱它為全域 (Global) 時,表示我們可以在任何地方取用他。

全域執行環境在一開始就創造了兩個東西:Global Object 和 this 變數。

在瀏覽器中,全域物件就是 Window 物件

全域物件

所以,在瀏覽器中,全域物件就是 Window 物件。全域執行環境一開始就創造了出來了。而且可以被視窗內的任何程式取用。

全域 ( Global ) :當你的程式碼或變數不在函數裡時,就是全域的。

在 JavaScript 裡,當你不是在函數裡創造變數和函數時,那些變數和函數會(attached)隸屬於全域物件。我們舉個例子:

變數 a 是一個全域變數,他不是在函數裡被創造,此時變數 a 會 (attached)隸屬於全域物件,也就是 Window 。此時 console.log(a)會等同於 console.log(window.a)

--

--