一.减少判断层级

从下图代码中可以明显看出,同样的效果判断层级的减少可以优化性能

二.减少作用域链查找层级

简单解释下,下图中第一个运行foo函数,bar函数内打印name,bar作用域内没有name,所以作用域链往上查找,foo内部有name,

但是这种写法实际上是赋值,还要往上查找,全局作用域中查询到name,相比于下图第二个,多向上查了一级,所以时间要长一些。

(备注:不考虑内存空间消耗的前提下,具体根据产品来定。)

三.减少数据读取次数

简单解释下,对于多次频繁调用,比如数组,对象是比较慢的,因为按照引用关系先要找到堆内存中的位置,所以说减少时间的消耗,

就应该减少查找成员的次数,比如放到一个变量中缓存起来(备注:不考虑内存空间消耗的前提下,具体根据产品来定。)

四.字面量与构造式

简单解释下,下图中第一个new Object() 相当于调用函数,比较慢,而下图第二个相当于在堆区开辟空间,在里面放属性和值就可

以了.

再次举例说明,下图中第一个创建的仅仅是个字面量字符串,而第二个相当于创建了个字符串对象。

五.循环优化

简单解释下:下图二中把一个频繁使用到的值做了一个缓存,提升了执行效率。

如下图所示:在不考虑顺序的前提下,while循环递减比for循环,执行效率更高一些

六.减少声明及语句数

简答解释下:对于不频繁使用的数据,不建议先缓存,执行的时候再去获取,降低执行时对内存的消耗在运行之前有编译过程,表达式

量比较多,对单词要进行词法拆分变成词法单元,然后做语法分析,然后转成代码再去执行,时间消耗浪费在这里了.

减少声明变量解释也如上

最新文章

  1. ionic项目 环境搭建及基本操作
  2. dll 和 lib--初级
  3. android虚拟机
  4. linux中sed的用法【转】
  5. python下载网页源码 写入文本
  6. 爆零后的感受外加一道强联通分量HDU 4635的题解
  7. java9-3 返回类型
  8. Best Time to Buy and Sell Stock
  9. Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)
  10. linux下sublime配置c++11编译环境
  11. SDL实现按钮
  12. Knockout js 绑定 radio 时,当绑定整形的时候,绑定不生效
  13. JAVA经典算法40题
  14. jquery通过ajax向后台发送(checkbox)数组,并在后台接收,(发送的数据是checkedbox)
  15. ABAP中的枚举对象
  16. 无法获得数据库 'model' 上的排他锁 解决方法
  17. C#基础知识之属性
  18. 二维数组的查找(JAVA)
  19. 如何解决:对应的服务器 tls 为 tls 1.0,小程序要求的TLS版本必须大于等于1.2问题
  20. Bzoj2149拆迁队:cdq分治 凸包

热门文章

  1. Eureka系列(四) 获取服务Server端具体实现
  2. Spark性能调优篇二之重构RDD架构及RDD持久化
  3. Python高级语法-多继承MRO相关-多继承顺序(4.5.1)
  4. ctf/web源码泄露及利用办法
  5. WP | [MRCTF2020]Ezpop
  6. 5行Python代码就能实现刷爆全网的动态条形图!
  7. C# NPOI Excel多级表头导出多个表
  8. .net core 和 WPF 开发升讯威在线客服与营销系统:系统总体架构
  9. JavaSwing 船只停靠管理可视化(三)
  10. Docker 的 2020,实 "鼠" 不易!