javaScript階段-高価な集合

1642 ワード

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を集合外部でまとめます.