JS加载
  AqVf24WfTw9n 5天前 45 0

同步加载

  • 阻塞模式,提高安全性
    • 过多JS加载会影响页面效率
    • 默认情况下,JS是同步加载,及优先加载外部JS,只有当JS文件加载完成,don和css才开始加载
<script src = 'index.js' ></script>

异步加载

  • 非阻塞加载
    • 动态创建script
    • defer 延迟加载JS,等到HTML的DOM完全解析之后
    • async HTML的文档解析和脚本的获取同时进行
<script src = 'index.js' defer></script> #defer
<script src = 'index.js' async></script> #async

理解优化

  1. 浏览器解析html的DOM是从上到下的,JS默认为同步加载
  2. 先被解析head的JS资源, 在body没有解析完之前会被绑定监听

即:head的JS资源在页面加载前,body的JS资源在页面加载后逐一获取JS
如:JS替换页面全局变量时, 需要将JS在body获取, 或者在head进行defer
PS:网页播放器一般放在body最底部,网页播放器与内容相干甚少,直接按需求defer/async

默认

async

defer

  1. 默认: 提前加载并执行, 都占用html解析
  2. async: 异步加载, 获取和解析同时, 执行占用html解析
  3. defer: 异步加载, 获取完并不执行, 执行不占用html解析
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 5天前 0

暂无评论

推荐阅读
  AqVf24WfTw9n   5天前   45   0   0 JavaScript
  5kfjjuqwphwR   10天前   39   0   0 JavaScript
  nOXnSDLlp3zQ   12天前   40   0   0 JavaScript
AqVf24WfTw9n
作者其他文章 更多

2024-09-14