今天有些颓废,从书上简单摘抄了一些js代码优化的知识

还是列举吧,看起来泾渭分明~
作用域链:

  • 函数执行时,js引擎会创建一个活动对象,它会出现在执行上下文作用域的顶端,紧接其后的是函数scope属性中的对象(活动对象包括this,arguments和形参)。所以应该使用局部变量以提高速度。
  • with和try-catch中的catch语句会在作用域链的顶部临时增加一个对象,导致局部变量变成了第二个对象,减慢了标识符的存取,所以应避免使用(增长了作用域链)

流控制:

  • switch-case语句中的条件应按频率降序排列
  • 优化if语句判断条件,条件数量众多且未出现频率特别高的条件时可使用二分法
  • 当条件对应的结果是单一值而非一系列操作时,可以用数组查询代替switch,eg: var results = [res0, res1. res2. ……];return results[value]

快速循环:

  • 将循环变量递减到0(通过与0比较来提高速度)
  • 避免for-in循环(但在处理如JSON对象这样的未知属性集时,仍必须使用for-in)
  • 展开小循环
  • 考虑每次循环完成标准循环的1-8次(8为最佳实践)
  • -

又熄灯了,一天就这样过去。睡觉之前再记录一个强大的window.performance对象用于性能分析吧,这个对象功能很强大,比如像使用performance.time.domComplete - performance.time.navigationStart计算dom加载时间……晚安

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值