js时间线

1.常见document对象,开始解析web页面---document。readyState = "loading"。

2.遇到link外部css,创建线程加载,并继续解析文档。

3.遇到script外部js,并且没有设置async,defer,浏览器加载,并阻塞页面加载,等待加载完并执行该脚本,然后再继续解析文档。

4.遇到script外部js,并且没有设置async,defer,浏览器创建线程加载,并继续解析文档,对于async属性的脚本加载完立即执行。defer等到解析完在执行(异步禁止使用document.write())

5.遇到img等,先正常解析dom结构,然后浏览器异步加载src,并继续解析文档。

6.当文档解析完成后,document.readyState = "interactive".

7.文档解析完成后,所有设置的defer的脚本会按循序执行(禁止使用document.write())

8.document对象触发DOMC哦那tentloaded时间,这也标志这程序执行从同步脚本事件转化为事件驱动事件。

9.当所有async的脚本加载完成并执行后,i美国等加载完成后,document.readyState = "complete".window对象触发load

10.从此,以异步相应方式处理用户输入事件等。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页