js中for循环优化总结_如何提高程序的执行效率
在程序开发中,经常会使用到for循环的,但是很多人写的for循环效率都是比较低的,下面就举例说明,并总结优化for循环的方法,来提高我们程序的执行效率。
1、取消循环终止判断,否则每循环一次都会执行一次判断
for (var i = 0; i < arr.length; i++) {
// do something...
}这样每次循环都要去读取一次数组的长度。优化写法:
var len= arr.length;
for (var i=0; i < len; i++) {
// do something...
}这里声明了2个变量,len和i。其实可以使用一个就能解决,如下:
for (var i = arr.length - 1; i >= 0; i--) {
// do something...
}2、嵌套循环时候,遵循外小内大(从外至里,循环对象size要从小到大)
for(var i=0; i<10000; i++){
for(var j=0; j<10; j++){
// do something...
}
}嵌套循环应该遵循“外小内大”的原则,这就好比你复制很多个小文件和复制几个大文件的区别。 优化如下:
for(var j=0; j<10; j++){
for(var i=0; i<10000; i++){
// do something...
}
}3、异常捕获放到外面
for (var i = 0; i < 10000000; i++) {
try {
// do something...
}catch(e){
}
}如果放在循环里面,就会一直抛出异常信息,最后内存溢出。 如果异常捕获在外面,遇到异常,循环停止。所以优化如下:
try {
for (let i = 0; i < 10000000; i++) {
// do something..
}
}catch(e){
}4、循环无关的表达式不要放在循环内部
由于每次循环都需要执行一次表达式代码。对于与循环无关的,只需要执行一次就可以了,所以最好放在循环外面。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!