读高性能javaScript

1.HTML中脚本会阻塞页面其他资源的下载,因此所有的<script>标签尽可能放到<body>标签的底部。

2.全局变量先存储到一个局部变量中,以局部变量代替全局变量以减少对性能影响。

3.变量作用域中位置越深访问时间越长,局部变量存在于作用域链的起始位置访问速度最快,全局变量处于作用域链的最末端,访问速度最慢。

4.嵌套对象会明显影响性能。

5.循环性能优化

(1)减少或者简化每次迭代处理的事务、或者减少迭代的次数

for(var i = 0, len = item.length; i < len ; i++)
{
    process(item[i]);
}
//修改为
var j = 0, count = item.length;
while(j < count)
{
    process(item[j++])
}
//重写后循环运行前对长度进行一次属性查找,控制条件直接读取局部变量读取速度更快,大多浏览器可以节省25%运行时间。

//再次优化
var j = item.length;
while(j--)
{
    process(item[j])
}
//控制条件只是简单的和0比较直到为0(等同于false)控制条件从两次减少到一次进一步提高了循环速度(运行提升50%左右)

6.判断条件数量较多,使用switch代替if-esle

//if判断优化
if
(value == 0) { return result0; } else if(value == 1) { return result1; } ......................... else if(value == 10) { return result10; } //这个表达式最多要判断10次,如果value再0~10之间均匀分布会增加运行时间,代码重写为: if(value < 6) { if(value < 3) { ...... } else { ..... } } else { ..... } //使用了二分法把值域分成系列区间,重写后每次最多经过4次判断即可找出

 7.字符拼接concat比起+(符号)效率慢

                                                                --减少工作量就是最好的性能优化

猜你喜欢

转载自www.cnblogs.com/xyptechnology/p/11115379.html