async 和 defer 的作用 async:async 属性标注的脚本是异步脚本,即异步下载脚本时,不会阻塞文档解析,但是一旦下载完成后,立即执行,阻塞文档解析。 defer 属性标注的脚本是延迟脚本,使得浏览器延迟脚本的执行,也就是说,脚本会被异步下载但是不会被执行,直到文档的载入和解析完成,并可以操作,脚本才会被执行。 有什么区别?
async和defer都是可以让js文件异步调用。 区别: async可以让js文件立刻进行异步调用,仅适用于外部脚本(只有在使用 src 属性时),同时这个是html5的新属性。 支持的浏览器: Paste_Image.png defer虽然也是异步调用,但是其的执行要等待页面元素解析之后,同时在DOMContentLoaded事件触发之前才可以。是一种延迟性的异步加载。
defer:脚本延迟到文档解析和显示后执行,有顺序; async:不保证顺序;