zoukankan      html  css  js  c++  java
  • javascript如何写一个for循环

    一个非常简单的for循环,也有不少的学问。假如,我们的目标是要遍历一个dom结点的所有孩子结点,然后打印结点的内容。

    在javascript下,我刚学习的时间,我会这样写。

    for(var i = 0; i<d.childNodes.length;i++){
      var item = d.childNodes[i];
      //dosomething about item...        
    }

    这个时候,细心的同学,已经发现了。每次计算.length的性能是非常差的。 然后第一版本的优化如下

    for(var i = 0,len = d.childNodes.length ; i< len ;i++){
      var item = d.childNodes[i];
      //dosomething about item...        
    }

    有没有更好的优化方案呢?

    for(var i = 0; item = d.childNodes[i] ;i++){
      //dosomething about item...        
    }

    发现了没有。 用一句item=d.childNodes[i], 即完成了判断,又完成了赋值,看上去,是不是很舒服呢?而且不需要计算length。 性能也是不是更好呢?

    注间:这种方法,适合数字类型的数组的遍历循环, 如果一个数组的索引是这样的 

    var a = [1,3,11];

    面对这样的数组,可一定要小心了, 它找a[1] ,发现没有,就直接不往下遍历了。亲。。

  • 相关阅读:
    474. Ones and Zeroes
    [LeetCode]464. Can I Win
    413. Arithmetic Slices
    numpy学习(布尔型索引)
    numpy学习(数组和标量之间的运算切片)
    numpy学习(数组的定义及基础属性)
    关于静态显示游标的遍历
    关于oracle的数组
    shutil模块
    开源库(不定义更新)
  • 原文地址:https://www.cnblogs.com/well1010/p/javascript-for-each.html
Copyright © 2011-2022 走看看