浅谈JavaScript代码性能优化2

一.减小判断层级数组

从下图代码中能够明显看出,一样的效果判断层级的减小能够优化性能缓存

二.减小做用域链查找层级函数

简单解释下,下图中第一个运行foo函数,bar函数内打印name,bar做用域内没有name,因此做用域链往上查找,foo内部有name,性能

可是这种写法其实是赋值,还要往上查找,全局做用域中查询到name,相比于下图第二个,多向上查了一级,因此时间要长一些。优化

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

三.减小数据读取次数对象

简单解释下,对于屡次频繁调用,好比数组,对象是比较慢的,由于按照引用关系先要找到堆内存中的位置,因此说减小时间的消耗,blog

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

四.字面量与构造式作用域

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

以了.

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

五.循环优化

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

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

六.减小声明及语句数

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

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

减小声明变量解释也如上

相关文章
相关标签/搜索