script的三种加载模式

  1. 默认加载:阻断dom树构建(html文档解析),下载资源,然后立即执行,完毕后再进行dom树构建
  2. defer 加载:下载照旧,但执行延后。即下载资源和dom构建同时进行,但等dom树构建完再执行
  3. async:下载完就立即执行,适合没有依赖的脚本。即构建dom和资源下载同时进行,资源下载完毕后立即执行。
defer和async区别:defer是等构建完dom树再执行,async是下载完就立即执行。两者在下载时都不会阻断dom树构建,而默认模式下载会阻断dom构建。所以依赖dom的适合用defer,不依赖dom的可以用async
相关推荐
前端大波1 分钟前
使用webpack-bundle-analyzer 对 react 老项目进行打包优化
前端·react.js·webpack·性能优化
前端 贾公子9 分钟前
(catalog协议) == pnpm (5)
前端·javascript·react.js
JarvanMo13 分钟前
深度解析:如何彻底终结 Flutter 异步操作中的 BuildContext 崩溃?
前端
wxr061618 分钟前
部署Spring Boot项目+mysql并允许前端本地访问
前端·spring boot·mysql·持续部署
假装我不帅24 分钟前
jquery-validation使用
前端·javascript·jquery
怕浪猫29 分钟前
React从入门到出门第六章 事件代理机制与原生事件协同
前端·javascript·react.js
天府之绝32 分钟前
uniapp 中使用uview表单验证时,自定义扩展的表单,在改变时无法触发表单验证处理;
开发语言·前端·javascript·vue.js·uni-app
be or not to be34 分钟前
Html-CSS动画
前端·css·html
初恋叫萱萱39 分钟前
技术基石与职场进阶:构建从Web后端到高性能架构的完整知识图谱
前端·架构·知识图谱
木木木一43 分钟前
Rust学习记录--C9 错误处理
前端·学习·rust