javascript中的字符串连接
大家都知道在.net中有一个stringBuilder类用于字符串连接,其可以大大提高性能,对于在javascript中是一样的,下面可是使用这样的类进行封装
1
var StringBuilder=function()
2
{
3
this.__str=new Array();
4
};
5
StringBuilder.prototype.append=function(s)
6
{
7
this.__str.push(s);
8
};
9
StringBuilder.prototype.toString=function()
10
{
11
this.__str.join('');
12
};
下面是使用这段StringBuilder测试和不使用测试比较
var StringBuilder=function()2
{3
this.__str=new Array();4
};5
StringBuilder.prototype.append=function(s)6
{7
this.__str.push(s);8
};9
StringBuilder.prototype.toString=function()10
{11
this.__str.join('');12
}; 1
var sb=new StringBuilder();
2
var date1=new Date();
3
for(var i=0;i<10000;i++)
4
{
5
sb.append('text');
6
}
7
var result=sb.toString();
8
var date2=new Date();
9
document.write('使用StringBuidler总共花费的时间是(ms):'+(date2.getTime()-date1.getTime())+"<br/>");
10
11
var string=new String();
12
date1=new Date();
13
var date1=new Date();
14
for(var i=0;i<10000;i++)
15
{
16
string+='text';
17
}
18
var date2=new Date();
19
document.write('使用一般string总共花费的时间是(ms):'+(date2.getTime()-date1.getTime()));
测试如下
var sb=new StringBuilder();2
var date1=new Date(); 3
for(var i=0;i<10000;i++)4
{5
sb.append('text');6
}7
var result=sb.toString();8
var date2=new Date();9
document.write('使用StringBuidler总共花费的时间是(ms):'+(date2.getTime()-date1.getTime())+"<br/>");10
11
var string=new String();12
date1=new Date();13
var date1=new Date(); 14
for(var i=0;i<10000;i++)15
{16
string+='text';17
}18
var date2=new Date();19
document.write('使用一般string总共花费的时间是(ms):'+(date2.getTime()-date1.getTime()));



浙公网安备 33010602011771号