JS Execution Context
簡介
JS 的執行環境(Execution Context)
分成兩種:
- Global Execution Context,在讀取 script 標籤時建立,只會有一個
- Function Execution Context,在建立 function 時建立,會有多個
在執行環境中會有兩個階段:
- Creation Pharse,建立 variable object,建立範疇鍊,建立 this,將宣告的變數和函式提升
- Execution Pharse,逐行執行,定義 this,取決於怎麼呼叫的,變數賦值
1 | var a = 1; |
用 var 宣告的變數如果是出現在函式命名外會被加進 global object,let 不會。
參考資料
[JavaScript] Javascript 的執行環境 (Execution context) 與堆疊 (Stack)
[JavaScript] Javascript 的作用域 (Scope) 與範圍鏈 (Scope Chain):往外找
[week 16] JavaScript 進階 - 什麼是閉包?探討 Closure & Scope Chain
JavaScript Execution Context – How JS Works Behind The Scenes
[JavaScript] 執行環境(Execution Context)與堆疊(Stack)