Udemy — JavaScript: The Advanced Concepts — JavaScript Foundation
II 筆記

Gary Huang
Traveling Light Taipei
Jan 25, 2022
該抄底了吧各位!

執行環境 (Execution context)

Javascript 共會建立兩種執行環境:

  1. 全域執行環境 (Global Execution Context)
    在執行任何程式之前,預設會建立的一個全域環境。
    全域執行環境替我們做了兩件事情:
    a. 建立全域物件 (Global object),以 web browser 來說就是 window
    b. 建立「this」
  2. 函式執行環境 (Function Execution Context)
    在函式執行 (invoke) 的時候會各別為函式建立專屬的執行環境,
    執行一個函式就會建立一個該函式的執行環境,所以有可能同時會有多個函式執行環境。

語彙範疇(Lexical Scope)

代表著區塊間的包裹關係,被包裹在內層的區塊可以保護自己的變數不被外層取用,相反的外層區塊的變數還是可以被內層區塊使用
參考:
JavaScript — Lexical Scope

Scope chain

Scope 是變數的取用範圍,而程式的詞彙環境 (Lexical Environment) 決定了這個範圍,Javascript 引擎會依著範圍鏈 (Scope chain) 尋找可取用的變數。

--

--

Gary Huang
Traveling Light Taipei

自學程式,目前爲 React 前端工程師,兼職線上課程業師,協助程式自學者就業。熱愛旅遊,將近 30 個國家。訂閱我的旅行與街舞 YT :https://www.youtube.com/channel/UCEU-bEDl7R-iGyLVZFae33g