作家
登录

javascript for循环设法提高性能

作者: 来源:www.28hudong.com 2013-03-30 01:50:38 阅读 我要评论

一般在javascript里对数组进行遍历一般是使用for循环,像下面一样 复制代码 代码如下: var arr = []; for(var i=0; i<arr.length; i++){ //loop } 这种代码最大的问题,就在于每次循环时都要通过 .操作符获取 .length,增加了开销。那么我们可以这样改进。 复制代码 代码如下: var arr = []; for(var i=0, n=arr.length; i<n; i++){ //loop } 这样子,先把 arr.length暂存到 n 变量中去。只在开始时获取一次。 但是这样就没问题了吗?貌似多定义了个无意义的变量 n 。好那继续改进 复制代码 代码如下: var arr = []; for(var i=arr.length-1; i > -1; i--){ //loop } 好这样子,我们把这个循环顺序倒过来,就把那个n去掉了,而使用了一个常量-1。 如果应用场景,允许不使用 for 循环的话。我们可在使用 while代替 善于使用这两种循环语句,以提高javascript的效率。 复制代码 代码如下: var arr = []; var i=arr.length-1; while(i--){ //loop arr[i] } 或者 复制代码 代码如下: var arr = []; var i=arr.length-1; do { // loop arr[i] }while(--i) 这样代码更简洁,效率更好,特别是如果允许先执行一次循环体的情况下,使用do while效果很明显。 唯一的问题是把 i 移到循环外了。

  推荐阅读

  jquery 最简单易用的表单验证插件

复制代码 代码如下:/* Jquery 表单验证插件 janchie 2010.1 janchie@163.com 1.01版 */ (function($){ $.fn.extend({ valid:function(){ if( ! $(this).is("form") ) return; //获取参数 var items = $.isArray(ar>>>详细阅读


本文标题:javascript for循环设法提高性能

地址:http://www.17bianji.com/kaifa2/JS/27011.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)