script标签用于加载脚本与执行脚本,直接使用script脚本的话,HTML会按照顺序来加载并执行脚本,在脚本加载和执行过程中会阻塞后续的DOM解析。现在大家习惯在页面中引用第三方脚本,如果第三方服务商出现了一些小问题比如延迟之类的,就会使得页面白屏。
defer
如果script标签设置了该属性,则浏览器会异步下载该文件,但是不会影响到后续DOM的解析,等DOM解析完毕后,就会按照顺序执行所有的script;defer脚本会在文档解析后再DOMContentLoaded事件调用前执行。
async
async的使用,会使得script脚本异步加载并在允许的情况下执行,async执行不会按着脚本在页面中的顺序来执行,而是谁先加载完谁执行。
网友评论