HTMKL <script>标签中有defer和async属性,简单介绍一下两者的区别吧。
普通的script标签会让浏览器立即下载并执行完毕,执行也是按照先后顺序,再进行后面的解析。
defer属性主要是为了防止脚本加载会对页面结构造成影响,因为脚本会立即下载,但是被延迟到页面解析完毕之后再执行。
如果多个延迟脚本则按他们的先后顺序执行。
async属性主要是为了不让页面停下来等待脚本的下载,也就是说async可以在页面渲染的同时在后台下载脚本。
多个异步脚本的话就是谁先下载完谁先执行,不一定会按照顺序执行了,在异步加载的时候建议不要修改DOM