js中for循环优化总结_如何提高程序的执行效率

摘要:在程序开发中,经常会使用到for循环的,但是很多人写的for循环效率都是比较低的,下面就举例说明,并总结优化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、循环无关的表达式不要放在循环内部

由于每次循环都需要执行一次表达式代码。对于与循环无关的,只需要执行一次就可以了,所以最好放在循环外面。


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_970