JSコード最適化

41284 ワード

もっと読む
1、文字列のつづり合わせ
  配列joinの方法で+=の代わりに、実行効率を向上させることができます.
 
  例:
  
  
  
  
  1. class="one" id="one">
       
  2. "button" value=" " onclick="func1()" />   
  3. "button" value=" " onclick="func2()" /> 
  
  
  
  
  1. //    
  2. function func1(){   
  3.     var start = new Date().getTime();   
  4.     var template = "";   
  5.     for(var i = 0; i 
  6.         template += "";   
  7.     }   
  8.     var end = new Date().getTime();   
  9.     document.getElementById("one").innerHTML = template;   
  10.     alert(" :" + (end - start) + " ");   
  11. }   
  12. //    
  13. function func2(){   
  14.     var start = new Date().getTime();   
  15.     var array = [];   
  16.     for(var i = 0; i 
  17.         array[i] = "";   
  18.     }   
  19.     var end = new Date().getTime();   
  20.     document.getElementById("one").innerHTML = array.join("");   
  21.     alert(" :" + (end - start) + " ");   
  22. }
    
    
    
    
  1. 2、for for , , 。 for , , , ,     
    1. var arr = [];   
    2. for(var i = 0; i 
    3.     arr[i] = "
      " + i + "
      "
      ;   
    4. }   
    5. document.body.innerHTML += arr.join("");   
    6.     
    7. //    
    8. function func1(){   
    9.     var divs = document.getElementsByTagName("div");   
    10.     var start = new Date().getTime();   
    11.     for(var i = 0; i 
    12.         //" "   
    13.     }   
    14.     var end = new Date().getTime();   
    15.     alert(" :" + (end - start) + " ");   
    16. }   
    17. //    
    18. function func2(){   
    19.     var divs = document.getElementsByTagName("div");   
    20.     var start = new Date().getTime();   
    21.     for(var i = 0, len = divs.length; i 
    22.         //" "   
    23.     }   
    24.     var end = new Date().getTime();   
    25.     alert(" :" + (end - start) + " ");   
      
      
      
      
  1. 2、for for , , 。 for , , , ,     
    1. var arr = [];   
    2. for(var i = 0; i 
    3.     arr[i] = "
      " + i + "
      "
      ;   
    4. }   
    5. document.body.innerHTML += arr.join("");   
    6.     
    7. //    
    8. function func1(){   
    9.     var divs = document.getElementsByTagName("div");   
    10.     var start = new Date().getTime();   
    11.     for(var i = 0; i 
    12.         //" "   
    13.     }   
    14.     var end = new Date().getTime();   
    15.     alert(" :" + (end - start) + " ");   
    16. }   
    17. //    
    18. function func2(){   
    19.     var divs = document.getElementsByTagName("div");   
    20.     var start = new Date().getTime();   
    21.     for(var i = 0, len = divs.length; i 
    22.         //" "   
    23.     }   
    24.     var end = new Date().getTime();   
    25.     alert(" :" + (end - start) + " ");   
3、ページの き しを らす
var str = これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です.これはテスト です. 「つらら」    // の い   
 func 1(){   
    var OB = Dcument.getElemenntById(「one」)   
    var start = new Date().getTime();   
    for(var) i = 0; i 
        Obj.inners HTML += str + i;        }        var end = new Date().getTime();   
    alert(「 う 」 " + (end - start + " ミリ    
)    // のいい   
 func 2(){   
    var OB = Dcument.getElemenntById(「one」)   
    var start = new Date().getTime();   
    var アール = []   
    for(var) i = 0; i 
        アール[i] = str + i;        }        Obj.inners HTML = arr.join(");   
    var end = new Date().getTime();   
    alert(「 う 」 " + (end - start + " ミリ    

ページの に を えるのは、innerHTMLだけではなく、 のスタイルや などを えると、ページの がトリガされます.