###### tags: `JavaScript - 執行環境、作用域` # JavaScript是如何運行的(原理)? JavaScript是屬於直譯式語言,程式碼運行時是一行一行編譯執行,錯誤會產生在執行環境上。 使用此工具來展示直譯器轉換(編譯)過程 : https://esprima.org/demo/parse.html# 1. 語法單元化 (Tokenizing) ![](https://i.imgur.com/JjEO8Bs.png) 2. 抽象結構樹 (Abstract Syntax Tree,還沒執行程式碼) ![](https://i.imgur.com/cBWPRBA.png) 4. 代碼生成 (執行程式碼,每個執行環境會有些不同)