js常见循环方法

来源:互联网 发布:电脑编程专家的微视频 编辑:程序博客网 时间:2024/06/06 06:55

今天偶然看到了有对于JS的几种循环方法的分析,于是做一下笔记。

常见的循环分别有:for循环、for in循环、while循环、do while循环、forEach()等等

var arr = [0,1,2,3],    sum = 0;//for循环for(var i = 0;i<arr.length;i++){    sum += arr[i];}//这是我们常用的写法,还有另一种常见的写法是将arr.length的值用变量存起来for(var i = 0, len = arr.length;i < len;i++){    sum += arr[i];}/*至于为什么这样写,看了许多文章,大家给出的解释都是:将长度存起来,每次循环就不用再获取对象的长度,直接访问变量,这样做可以提高循环的效率。但是,经过笔者的多次测试,然后取平均值发现,优化后的循环耗时不仅没有减少,反而比平常的写法耗费的时间要长一些。。。。Σ(っ°Д°;)っ关于这个问题,笔者还要多次测试,看一下其它文章找找原因,有知道的同学不妨留言告知(~ ̄▽ ̄)~ 。*///还有另一种写法:for(var i = arr.length;i--;){    sum += arr[i];}/*这种写法省略了最后一部分,而中间的判断部分使用了i--,当i为0是循环结束.这种写法对于一些循环顺序不作要求的场景下还是很友好的,可以稍微减少代码量。*/
//for in循环for(var i in arr){    sum += arr[i];}/*for in循环是这几种循环方法当中效率最低的(用于循环数组效率非常低(`・ω・´)),因为for in循环不仅要遍历对象整数名称的属性,还要遍历非整数名称的属性和继承的属性。常用于遍历Object,所以遍历数组建议使用for循环。*/
//while循环var i = 0;while(i < 4){    sum += arr[i];    i++;}/*while循环的效率与for循环差别不大,笔者更习惯使用for循环。*///do while循环do{    sum += arr[i];}while(i < 4);/*do while循环与while循环的主要区别在于它至少执行一次,不管第一次的判断结果。*/
//forEach循环arr.forEach(function(val, index){    sum += val;})/*forEach循环与for循环相比效率会低一些,因为forEach需要调用函数,这一步操作与一般的循环相比会消耗更多的时间*/js循环方面先写到这里,由于知识有限,日后对进行补充_(:з」∠)_ 
原创粉丝点击