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

巧技
QiaTia
1年前
0

在程序开发中,经常会使用到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、循环无关的表达式不要放在循环内部

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

    还没人来评论哎,快来抢沙发吧