javascrip 中实现StringBuffer类

本文通过实验比较了使用 '+' 运算符与自定义 StringBuffer 类进行字符串拼接的效率差异。实验证明,在大量字符串拼接操作中,利用 StringBuffer 类的方式能够显著提高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
<script type="text/javascript">
//StringBuffer类开始
function StringBuffer() {
    
this.__strings__ = new Array;
}


StringBuffer.prototype.append 
= function (str) {
    
this.__strings__.push(str);
}
;

StringBuffer.prototype.toString 
= function () {
    
return this.__strings__.join("");
}
;
//StringBuffer类结束


//下面是一个测试  用'+'连接字符串  和  join()连接字符串效率上的巨大差别
var d1 = new Date();
var str = "";
for (var i=0; i < 10000; i++{
    str 
+= "text";
}

var d2 = new Date();

document.write(
"Concatenation with plus: " + (d2.getTime() - d1.getTime()) + " milliseconds");

var buffer = new StringBuffer();
d1 
= new Date();
for (var i=0; i < 10000; i++{
    buffer.append(
"text");
}

var result = buffer.toString();
d2 
= new Date();

document.write(
"<br />Concatenation with StringBuffer: " + (d2.getTime() - d1.getTime()) + " milliseconds");

</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值