xuanyuan77777 发表于 2013-2-7 15:16:51

在《JavaScript高级程序设计》一书中看到的代码疑问?

<html><head>    <title></title>    <script type="text/javascript">      function StringBuffer(){    this.strings = new Array();      }      StringBuffer.prototype.append = function(str){    this.strings.push(str);      }      StringBuffer.prototype.toString = function(){    return this.strings.join("");      }                var d1 = new Date();      var str = "";      for(var i=0;i<100000;i++){            str += "text";      }      var d2 = new Date();      document.write("cost1: "+(d2.getTime()-d1.getTime())+" millisecondes");      var buf = new StringBuffer();      var d3 = new Date();               for(var i=0;i<100000;i++){            buf.append("text");      }      var resultStr = buf.toString();      var d4 = new Date();      document.write("<br/>cost2: "+(d4.getTime()-d3.getTime())+" millisecondes");    </script></head><body></body></html> 这段代码执行后,与书上说的采用用“+”连接会效率比较低,耗资源,采用Array.join("")方式效率会比前者高50%--60%,但我试了以后发现不是那样,是哪儿的问题呢,请不吝赐教!
页: [1]
查看完整版本: 在《JavaScript高级程序设计》一书中看到的代码疑问?