(1)defer属性规定是否延迟脚本执行,直到页面加载为止。async属性规定脚本一旦可用就异步执行。
(2)defer并行加载JavaScript文件,会按照页面上script标签的顺序执行。async并行加载JavaScript,下载完成立即执行,不会按照页面script标签的顺序执行。
(3)没有defer或async属性,浏览器会立即加载并执行相应的脚本。也就是说在渲染script标签之后的文档之前,不等待后续加载的文档元素,读到就开始加载和执行,此举会阻塞后续文档的加载;
(1)defer属性规定是否延迟脚本执行,直到页面加载为止。async属性规定脚本一旦可用就异步执行。
(2)defer并行加载JavaScript文件,会按照页面上script标签的顺序执行。async并行加载JavaScript,下载完成立即执行,不会按照页面script标签的顺序执行。
(3)没有defer或async属性,浏览器会立即加载并执行相应的脚本。也就是说在渲染script标签之后的文档之前,不等待后续加载的文档元素,读到就开始加载和执行,此举会阻塞后续文档的加载;