总结:二者旨在控制所属外部脚本的下载与执行(主要是执行)。
用法:
1、defer 新线程下载(不会影响其他资源的加载,包括js资源),延迟执行(DOMContentLoaded之前),多个defer脚本,按照位置顺序依次执行。
2、async 异步下载(影响后续js资源的加载),立即执行(load事件之前),多个async脚本无法知晓其执行顺序。
3、两者都不会阻碍dom树的构建
注:笔者自己验证得出的结论,观众可自行验证。
总结:二者旨在控制所属外部脚本的下载与执行(主要是执行)。
用法:
1、defer 新线程下载(不会影响其他资源的加载,包括js资源),延迟执行(DOMContentLoaded之前),多个defer脚本,按照位置顺序依次执行。
2、async 异步下载(影响后续js资源的加载),立即执行(load事件之前),多个async脚本无法知晓其执行顺序。
3、两者都不会阻碍dom树的构建
注:笔者自己验证得出的结论,观众可自行验证。