<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%,但我试了以后发现不是那样,是哪儿的问题呢,请不吝赐教!