defer 与async
解决加载脚本阻塞dom加载问题
defer
文档解析时,遇到设置了defer的脚本,就会在后台进行下载,但是并不会阻止文档的渲染,当页面解析&渲染完毕后。
会等到所有的defer脚本加载完毕并按照顺序执行,执行完毕后会触发DOMContentLoaded事件。(只用于外部src脚本)
async
遇到async标识就异步进行下载。async脚本会在加载完毕后执行。
async脚本的加载不计入DOMContentLoaded事件统计,不会顾及该事件,自己什么时候加载完,什么时候执行。