一个页面有多个script标签时,执行顺序

JavaScript解释器在执行脚本时,是按块执行的。通俗地说,就是浏览器在解析HTML文档流时,如果遇到一个script标签,则JavaScript解释器会等到这个代码块都加载完成后,先对代码块进行预编译,然后再执行。执行完毕后,浏览器会继续解析下面的HTML文档流,同时JavaScript解释器也准备好处理下一个代码块。

执行步骤:

step1. 读入第一个代码块
step2. 做语法分析,有错则报语法错误,并跳转至step5
step3. 对var变量和function定义做“预编译处理”(永远不会报错,因为只解析正确的声明)
step4. 执行代码段,有错则报错
step5. 如果还有下一个代码段,则读入下一个代码段,重复step2

虽然说JavaScript是按块执行的,但是不同块都属于同一个全局作用域,也就是说,块之间的变量和函数是可以共享的。

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