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

时间: 2018-08-02阅读: 4564标签: 优化

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

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


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/970

CSS3性能优化新属性:will-change

will-change属性通过告诉浏览器什么属性、什么元素将会发生变化,可以对这些操作进行可能性的优化,由此提高CSS动画的执行效率。

微信小程序性能优化入门指南

小程序从发布到现在也已经有将近两年的时间,越来越来多的公司开始重视小程序生态带来的流量,今年也由于小程序平台对外能力的越来越多的开放以及小程序平台的自身优化,越来越多的开发者也自主的投入到小程序的开发当中

Web前端性能优化

web性能优化,主要分为前端和后台两个部分性能优化,后台性能优化决定了web能不能用,前端优化决定了其好不好用,也就是牵涉到前端用户体验和web易用性等情况,所以前端性能与用户体验是有着极大的关联的。

优化(Vue)Javascript文件体积

可以看到竟然有8M和5.3M这么大的文件!在本地开发时由于本地网络打开文件很快感受不明显,但当把这些文件部署到服务器上,能明显感觉首屏打开时间是非常慢的。好,看到了问题,我们来优化~

webpack打包体积过大的优化方案

webpack把我们所有的文件都打包成一个js文件,即使你是小项目,打包后的文件也非常大,开发环境和生产环境使用同一个webpack配置文件,导致生产环境打包的js文件包含很多没必要的插件

webpack常用构建优化总览

读了《深入浅出webpack》总结一下常用的webpack的构建优化策略,可通过以下手段来提升项目构建时的速度,理论上我们项目的第三方依赖均应在自己的工程的node_modules下,所以我们可以设置查找目录

前端性能优化的三大处理方式

减少 HTTP 的请求次数和传输报文的大小,可以减少 HTTP 请求次数或者减少请求内容的大小 ,使图片渲染的更快:因为他们是基于代码渲染的,而对于位图(png/jpg/gif)是需要先把图片编码再渲染 ,可以避免图片失真变形

编写高质量 JS 变量的5种最佳做法

变量无处不在,即使我们在写一个小的函数,或者一个应用程序:我们总是先声明,分配和使用变量。编写好的变量可提高代码的可读性和易维护性。

如何设置网站的robots.txt?

做过网站优化的朋友都知道,搜索引擎蜘蛛爬行抓取网站时首先会去访问根目录下的robots.txt文件,如果robots文件存在,则会根据robots文件内设置的规则进行爬行抓取,如果文件不存在则会顺着首页进行抓取,那么robots文件的工作原理是什么呢?

关于ES6尾调用优化

ES6包含了一个性能领域的特殊要求。这与一个涉及函数调用的特定优化形式相关:即尾调用优化(Tail Call Optimization,TCO)。简单地说,尾调用就是一个出现在另一个函数“结尾”处的函数调用

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!