用自定义的StringBuilder拼接大量的字符串 的性能
要远远高于用普通的 + 号拼,
在不同的机器上反映的性能可能会不一样,但都是成倍数的性能差距
下面是测试代码
<script>
function StringBuilder()
{
this.strings = new Array();
}
StringBuilder.prototype.append = function(str){
this.strings.push(str);
}
StringBuilder.prototype.tostring = function(){
return this.strings.join("");
}
StringBuilder.prototype.clear = function(){
this.strings.length = 0;
}
var d1 = new Date();
var obj = new StringBuilder();
for(i=0;i<10000;i++)
{
obj.append("a");
}
var d2 = new Date();
document.write("StringBuilder类拼接10000个a消耗的时间" + (d2.getTime() - d1.getTime()) + "毫秒");
document.write("<hr>");
var d3 = new Date();
var str = "";
for(i=0;i<10000;i++)
{
str += "a";
}
var d4 = new Date();
document.write("用+号拼接10000个a消耗的时间" + (d4.getTime() - d3.getTime()) + "毫秒");
</script>