一個頁面有多個script標籤時,執行順序

JavaScript解釋器在執行腳本時,是按塊執行的。通俗地說,就是瀏覽器在解析HTML文檔流時,如果遇到一個script標籤,則JavaScript解釋器會等到這個代碼塊都加載完成後,先對代碼塊進行預編譯,然後再執行。執行完畢後,瀏覽器會繼續解析下面的HTML文檔流,同時JavaScript解釋器也準備好處理下一個代碼塊。

執行步驟:

step1. 讀入第一個代碼塊
step2. 做語法分析,有錯則報語法錯誤,並跳轉至step5
step3. 對var變量和function定義做“預編譯處理”(永遠不會報錯,因爲只解析正確的聲明)
step4. 執行代碼段,有錯則報錯
step5. 如果還有下一個代碼段,則讀入下一個代碼段,重複step2

雖然說JavaScript是按塊執行的,但是不同塊都屬於同一個全局作用域,也就是說,塊之間的變量和函數是可以共享的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章