JavaScript解釋器在執行腳本時,是按塊執行的。通俗地說,就是瀏覽器在解析HTML文檔流時,如果遇到一個script標籤,則JavaScript解釋器會等到這個代碼塊都加載完成後,先對代碼塊進行預編譯,然後再執行。執行完畢後,瀏覽器會繼續解析下面的HTML文檔流,同時JavaScript解釋器也準備好處理下一個代碼塊。
step1. 讀入第一個代碼塊
step2. 做語法分析,有錯則報語法錯誤,並跳轉至step5
step3. 對var變量和function定義做“預編譯處理”(永遠不會報錯,因爲只解析正確的聲明)
step4. 執行代碼段,有錯則報錯
step5. 如果還有下一個代碼段,則讀入下一個代碼段,重複step2