script标签中没有 defer 或 async属性时,浏览器会立即加载并执行指定的脚本,也就是同步的方式从上而下加载并执行代码
script中async和defer属性都为异步加载
defer:可选
脚本的加载过程和文档加载是异步发生的,脚本加载完会被延迟到整个页面都解析完毕后再运行
async:可选
脚本的加载过程和文档加载也是异步发生的,但脚本下载完成后会停止HTML解析,执行脚本,脚本解析完继续HTML解析
标记为 async 的脚本并不保证按照指定它们的先后顺序执行
如图: