script标签的async和defer属性

asyncdefer均为script元素的属性

async: 表示立即下载脚本,但不应妨碍页面中的其他操作,比如下载资源或等待加载其他脚本。不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。async='async'

defer: 表示脚本可以延迟到文档完全被解析和显示之后再执行。延迟脚本,defer='defer'脚本等到之后再执行
相同: 只对外部脚本有效

只要不存在asyncdefer属性,浏览器都会按照script元素再页面中出现的先后顺序对它们一次进行解析。

大白话:加上async或defer之后的脚本会在html解析的异步下载脚本,但是async是下载好了就立马执行,而defer是等html执行完毕之后再执行。

script标签的async和defer属性