JavaScript性能陷阱

13.使用变量缓存值
在做重复工作的地方使用局部变量缓存值。
下面的一组例子表明了存储值到局部变量的广泛意义。

例子1.计算执行前在循环体内使用变量存储数学函数
错误的方法:

1
2
3
4
var d=35;
for (var i=0; i<1000; i++) {
	y += Math.sin(d)*10;
}

更好的处理:

1
2
3
4
5
var d = 55;
var math_sind = Math.sin(d)*10;
for (var i=0; i<1000; i++) {
	y += math_sind;
}

例子2.保存数组的长度在循环中使用
糟糕的处理:

1
2
3
for (var i = 0; i < arr.length; i++) {
	// do something
}

数组的长度每次都会被重复计算

更好的改进:

1
2
3
for (var i = 0, len = arr.length; i < len; i++) {
	// do something
}

更好的方法是保存数组的长度

总的来说,如果已经做了一次,我们就不需要重复的做不必要的工作。例如,作用域或者函数中多次使用到计算的一个表达式的值,保存到变量可以使它多次 被使用,否则我们会过头的声明一个变量并赋值然后只适用一次。所以请记住这些。

版权所有:为网站而疯狂-给站长一个五星级的家转载请注明来源,谢谢!

还不快抢沙发       我也不甘寂寞

欢迎留言

友情提示:
1、请勿发表色情、违法、商业广告等信息,谢谢。
2、留言想要有头像?请看 “我” 的。