日期:2014-05-16  浏览次数:20305 次

优化你的JS代码--字符串的拼接


      java提倡在处理字符串拼接的时候用StringBuffer,好处不多说了,这不是此文的本意,总之谁用谁知道。

      但是js貌似没有这方面专门处理字符串的类或者函数阿,所以有很多程序员包括我在内,大篇幅加大手笔的采用str1 + str2+...的形式,很多时候外面还有for循环...

     难道js中真没有能提高在字符串拼接方面的性能的办法了吗?  答案是有的,见下文:

字符串的拼接在我们开发中会经常遇到,所以我把其放在首位,我们往往习惯的直接用+=的方式来拼接字符串,其实这种拼接的方式效率非常的低,我们可以用一种巧妙的方法来实现字符串的拼接,那就是利用数组的join方法。

  1. <div class="one" id="one"></div>   
  2. <input type="button" value="效率低" onclick="func1()" />   
  3. <input type="button" value="效率高" onclick="func2()" /> 
  1. //效率低的   
  2. function func1(){   
  3.     var start = new Date().getTime();   
  4.     var template = "";   
  5.     for(var i = 0; i < 10000; i++){   
  6.         template += "<input type='button' value='a'>";   
  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 < 10000; i++){   
  17.         array[i] = "<input type='button' value='a'>&qu