通过编码规范优化JavaScript性能

@[TOC]通过编码规范优化JavaScript性能

通过编码规范优化JavaScript性能

避免全局查找

如果在一个函数中多次访问一个全局变量,应将其保存为函数内部的局部变量,以减少全局查找。

避免使用with

with语句会创建自己的作用域,增加执行代码的作用域长度,造成额外的作用域查找。

优化循环

  • 简化循环体
  • 简化终止条件,提前跳出循环
  • 优先计算循环次数(当我们需要对数组进行循环时,应在循环开始前优先计算出数组长度,而不是在循环体了计算数组长度)即采用
for (let i = 0;len = arr.length; i<len; i++)

而避免使用

for(let i = 0 ; i < arr.length ;i++ )

switch比if-else语句更快

switch语句比if-else语句执行速度快,还可以通过将case语句按照发生可能性从高到低的顺序排列,实现进一步优化。但是不要忘了break。

最小化语句数

  • 合并变量声明
    let a = 1;let b = 2; let c = 3;等语句合并成let a =1,b = 2, c = 3;

  • 使用字面量创建数组和对象,不要使用构造函数

let arr = [1,2,3];
let obj = {name:"gmy"}

优化DOM操作

尽可能少的操作DOM 能最大的提示js的性能

  • 通过创建文档片段来收集dom更新然后使用appendChild等方法一次性更新DOM

  • innerHTML操作DOM的效率比appendCHild()、createElemnt()等方法效率高
    因为innerHTML是内部方法是编译好的不需要解释执行。

  • 使用事件代理减少事件监听程序的注册
    利用事件冒泡的原理实现事件代理,即通过在父级元素上绑定事件处理程序监听所有子元素的事件。
    比如在UL上监听每个li的点击事件。

  • 最小化访问HTMLCollection
    多次使用应保存为局部变量

部署压缩

  • 将读个js文件打包成一个js或更少数量的js文件。
    js文件是数量会阻塞http请求

  • 代码压缩
    删除额外的空白、删除所有的 注释、缩短变量名(借助第三方工具实现压缩)

  • http压缩
    借助浏览器和服务器的压缩功能

结语

以上内容是对js优化的一个便于记忆的总结,更多更详细的内容需要读者再进一步扩展

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mingyong.g

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值