for循环优化笔记

    最近越来越觉得自己会的东西太少了。在寻找比较好的视频资源来补充一下自己。
    对于我们才出来实习的人感觉那学费还是有点心疼。于是只能在网上找找视频资源看看了。
    在百度直接搜索很难搜索到不错的、完整的视频。 刚好之前收藏了一个搜索引擎工具,
    名字叫做“百度网盘搜索引擎”里面搜索一些资源非常方便。
    今天第一天试看自己搜索下来的视频,名称是《Java实现ajax分页》,视频资源就不放出来了,用上面的搜索引擎工具很容易搜到。
    视频为JavaVIP试听课程,由keke老师讲解。讲的很棒,可惜插播的广告太多,
    四个半小时的视频,至少超过半个小时推销VIP,课程讲的很细,但是没有结尾,看完之后,收获蛮大的,当然,不是ajax方面的。
    主要是keke老师讲到的一个细节点,我觉得很重要,对于我们新手来说帮助还是蛮大,大神勿喷。

for语句语法流程如下图所示:
这里写图片描述

以下代码以及讲解

第一种最常见的for循环

//第一种循环
for(var i=0;i<demo.length;i++){

}

这种循环是最常见的。我也一直都是用这样的。听完课程才知道,这种是最烂的。最消耗资源的循环。
每一次i<demo.length,都需要做一次判断,非常消耗时间,每一次i++,都需要消耗CPU的计算能力。
当数据量达到一百万以上的时候,此时这个循环就容易出现内存溢出,程序崩溃(当然,一般的程序基本上都不会有那么大的数据量)。
改进
var d=demo.length;
var i=0;
for(;i<len;i++){
}

当声明一个临时变量存储demo.length时,这时消耗的时间将少得多。
或者

while(d--){
    demo[i];
}

比较少见的一种循环,速度比上一种稍微快一点,
至少写这种循环

var d=demo.length;
for(var i=0,d=demo.length;i<d;i++){

}

这种写法,在测试工具中可能会不识别i++,因此也可写成
i+=1
原文地址:https://www.cnblogs.com/jcong/p/5252641.html