web性能优化--算法优化
Posted 快饿死的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web性能优化--算法优化相关的知识,希望对你有一定的参考价值。
- 避免for-in
- 把数组长度保存在局部变量中
- 较少迭代次数(Duffs Device)
- 基于函数的循环比基于循环的迭代消耗性能更多
- 优化if-else,一般switch比if-else速度快(hash tabel)
1)避免用for-in
常见的循环有:for、do-while、while、for-in。for-in循环比较慢,因为每次迭代操作时会同事搜索实例或原型属性。
2)把数据数组长度保存在局部变量中
for(var i = 0, len = items.length;i < len; i++){ process(items[i]); }
3)减少迭代次数(Duffs Device)http://blog.csdn.net/cengjingcanghai123/article/details/21231865
<script type="text/javascript"> var iterations = Math.floor(items.length/8), startAt = items.length % 8, i = 0; do { switch(startAt) { case 0: process(items[i++]); case 7: process(items[i++]); case 6: process(items[i++]); case 5: process(items[i++]); case 4: process(items[i++]); case 3: process(items[i++]); case 2: process(items[i++]); case 1: process(items[i++]); } startAt = 0; }while(--iterations); </script>
4)基于函数的循环比基于循环的迭代消耗性能更多。例如:for循环迭代比forEach函数迭代性能高
5)优化if-else,一般switch比if-else速度快,但是在判断条件多时,使用查找表比if-else和switch都快
以上是关于web性能优化--算法优化的主要内容,如果未能解决你的问题,请参考以下文章