zoukankan      html  css  js  c++  java
  • javaScript进阶昂贵的集合

    1 var alldivs = document.getElementsByTagName('div');
    2 for (var i = 0; i < alldivs.length; i++) {
    3 document.body.appendChild(document.createElement('div'));
    4
    5 }

    /*函数是一个死循环,每次迭代都执行查询操作*/


    /*集合拷贝到数组,循环数据比循环集合效率高*/

    function toArray(coll) {
      for (var i = 0, a = [], len = coll.length; i < len; i++) {
        a[i] = coll[i];
    
      }
      return a;
    }
    

      

    var coll = document.getElementsByTagName('div');
    var len = coll.length;
    var arr = toArray(coll);
    
    function loopCollection() {
      for (var count = 0; count < coll.length; count++) {
    /*代码处理*/
      }
      }
    
      function loopCollection(coll) {
        for (var count = 0; count < arr.length; count++) {
        /*代码处理*/
    
      }
    }
    

      

    /*读取元素集合的length属性会引发集合进行更新,优化方法很简单,将集合长度缓存为局部变量*/

    function loopCollection() {
      var alldivs = document.getElementsByTagName('div');
      var len = coll.length;
      for (var count = 0; count < coll.length; count++) {
        /*代码处理*/
      }
    }
    /*

    1 当同一个Dom的属性和方法需要多次访问时,最好用一个局部变量缓存此成员
    2 遍历一个集合时,首要的优化原则是把集合混存在局部变量中,并把length缓存在集合外部
    总结*/

  • 相关阅读:
    网络学习笔记
    zabbix4.2学习笔记系列
    ansible2.7学习笔记系列
    记一次磁盘UUID不能识别故障处理
    白话ansible-runner--1.环境搭建
    kubernetes的思考
    计算机网络原理精讲第六章--应用层
    计算机网络原理精讲第五章--传输层
    centos7下LVM挂载和扩容
    多线程下载命令--axel
  • 原文地址:https://www.cnblogs.com/needrunning/p/2291369.html
Copyright © 2011-2022 走看看