共计 251 个字符,预计需要花费 1 分钟才能阅读完成。
其中蓝色代表 js 脚本网络加载工夫,红色代表 js 脚本执行工夫,绿色代表 html 解析。
从图中咱们能够明确一下几点:
1.defer 和 async 在网络加载过程是统一的,都是异步执行的;
2. 两者的区别在于脚本加载实现之后何时执行,能够看出 defer 更合乎大多数场景对利用脚本加载和执行的要求;
3. 如果存在多个有 defer 属性的脚本,那么它们是依照加载程序执行脚本的;而对于 async,它的加载和执行是紧紧挨着的,无论申明程序如何,只有加载实现就立即执行,它对于利用脚本用途不大,因为它齐全不思考依赖。
正文完