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、循环无关的表达式不要放在循环内部
由于每次循环都需要执行一次表达式代码。对于与循环无关的,只需要执行一次就可以了,所以最好放在循环外面。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!