defer 和 async 都只对外联脚本生效(也就是src引用的脚本文件)
- 都不加
(1)如果是外联脚本,会先同步下载脚本文件(此时会阻塞document的解析)
(2)执行脚本(此时会阻塞document的解析) - defer
(1)文档会异步下载(此时不会阻塞document的解析)
(2)文档下载完成后,脚本的执行会延迟到document解析完成后再执行(此时不会阻塞document的解析) - async
(1)文档会异步下载(此时不会阻塞document的解析)
(2)文档下载完成后立即执行(此时会阻塞document的解析)