原生js(三)

客户端js的时间线:

1、web浏览器创建Document对象,开始解析html和文本、生成Element对象和Text节点添加到文档中。这个阶段的document.readystate=="loading"

2、当遇到没有async和defer的script标签时,停止文档的解析,开始请求并执行js

3、当遇到有async或defer时,会先下载js,但不执行,等到文档解析完毕之后才执行

4、当文档解析完成时,document.readyState=="interactive"

5、开始执行defer或async的脚本

6、浏览器在Document对象上触发DOMContentLoaded事件(此时异步的脚本可能尚未执行完毕)

7、当所有的资源都加载完成,并且所有的异步脚本也执行完成之后,document.readyState=="complete",此时在window对象上触发load事件

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。