更新時間:2021-11-26 來源:黑馬程序員 瀏覽量:
JavaScript代碼在運行之前會經(jīng)過一個編譯的過程,而編譯有分詞、解析和代碼生成三個步驟,下面我們詳細介紹。
第一個步驟:分詞
分詞的目的是把字符組成的代碼分解成有意義的代碼塊,這些代碼塊稱為詞法單元。
第二個步驟:解析
由JavaScript編譯器對分詞得到的一個個代碼塊進行解析,生成一棵抽象的語法樹(AST)。
第三個步驟:代碼生成
在這個過程中,JavaScript引擎會把在第二個步驟中生成的抽象語法樹轉換成可執(zhí)行的代碼,也就是最終生成出一些機器指令。
實際上,javascript引擎的編譯過程要復雜得多,包括大量優(yōu)化操作,上面的三個步驟是基本的編譯概述。
總結:
JavaScript代碼編譯原理,編譯器把程序分解成詞法單元(token),然后把詞法單元解析成語法樹(AST),再把語法樹變成機器指令等待執(zhí)行。
猜你喜歡: