为了不阻塞页面文档的解析,script脚本有两个属性,用于控制脚本的下载和执行
相同点:
1、都只能用于外部脚本
2、不阻塞页面文档的解析
不同点:
1、defer开启新的线程下载脚本,并使脚本在文档解析完成后执行,多个外部脚本都使用了defer的话,会按脚本在文档中出现的顺序下载执行,defer脚本会在DOMContentLoaded和load事件之前执行
2、async会在脚本下载完成后立即执行,无法保证多个async脚本的执行顺序,async脚本会在load事件之前执行,但是不保证与DOMContentLoaded事件的执行顺序。
网友评论