读书笔记-高性能js-加载和执行

减少js对性能的影响:

  1. js放文件尾部。
  2. 合并js文件。减少外链js,合并js文件。单个文件比多个文件加载快,因为多个文件中间会执行上一个js文件。
    一个大的js文件下载会锁死浏览器一段时间。所以我们需要逐步加载文件。
  3. 无阻塞脚本
    1. defer 属性。指明脚本不会修改dom,可延迟执行。脚本可放任务位置。只下载不执行,直到dom加载完成。
    2. 动态脚本元素。无论在何时启动下载,文件的下载和执行过程不会阻塞页面其他进程。
      script标签在head里面创建更保险,在body可能在ie下没有加撤完成会报错。
      动态脚本:跨浏览器兼容性和易用,解决无阻塞加载问题。
    3. 使用ajax创建脚本注入页面中。这里涉及到响应码,返回的status应该为200或者小于300(有效值),或者304(从缓存中获取)
      跨浏览器,无阻塞。js需要和页面同域,并且不能从CDN下载,大型应用不适合。

设计理念:由少量代码来加载丰富的功能组件。 种子文件->加载丰富的功能组件
推荐:使用动态脚本加载。
经典库:lazyload.js,LAB.js

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值