js執行三部曲
1、語法解析(語義分析):通篇掃瞄檢視語法是否有誤。如少了或多了乙個括號
2、預編譯
3、釋放執行上下文
預編譯:預編譯會發生在函式執行的前一刻
預編譯過程有四步
1、生成乙個ao物件(activation object): 執行期上下文
其實執行期上下文是函式執行時產生的儲存庫(作用域)
2、找形參和變數宣告,掛在ao物件上,成為ao的屬性,並賦初值為undefined
3、形參和實參對應,把實參的值賦給形參
4、在函式體裡面找函式宣告(不包含函式表示式)
這四部完了就開始執行
JS預編譯原理
一 預編譯之前基本概念 1 函式形參 parameter 和實參 argument 的區別 形參相當於函式中定義的變數,實參是在執行時的函式呼叫時傳入的引數。即 形參就是函式宣告時的變數,實參是我們呼叫該函式時傳入的具體引數。1 function add a,b 4 add 1,2 1,2就是實參 ...
JS預編譯 函式預編譯和全域性預編譯
預編譯發生在函式執行前一步 建立ao物件 執行期上下文 找形參和變數宣告,將變數和形參名作為ao 屬性名,值為undefined 將實參值和形參統一 在函式體裡面找函式宣告,值賦予函式體 結果 預編譯過程 函式馬上要執行,但是還沒執行 首先建立ao物件,也就是函式它產生的儲存空間庫 ao,b und...
深入理解include預編譯原理
1.include 命令的作用 1.1 什麼情況不使用 include 檔案 void test a 檔案 void test a 函式宣告 void test b 其實,這樣的工程,可以不用使用 include 預編譯命令。1.2 什麼情況使用 include 如果工程裡面的函式特別多,那麼按照上...