js异步加载之async与defer

374 阅读1分钟

defer 和 async 的区别在于:

defer 要等到整个页面在内存中正常渲染结束(DOM 结构完全生成,以及其他脚本执行完成),在window.onload 之前执行;

async 一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。

如果有多个 defer 脚本,会按照它们在页面出现的顺序加载

多个 async 脚本不能保证加载顺序