js的字符串连接有两种:用“+”连接;用array的join连接。
比较这两种方法的效率。
<script>
function add() {
var s = (new Date()).valueOf();
var str = '';
for (i = 0; i < 50000; i++)
{
str += i;
}
var e = (new Date()).valueOf();
alert(e-s);
}
function add_arr() {
array = new Array();
var s = (new Date()).valueOf();
for (i=0; i<50000; i++)
{
array[i]=i;
}
var str = array.join(',');
var e = (new Date()).valueOf();
alert(e-s);
}
</script>
var s = (new Date()).valueOf();
var str = '';
for (i = 0; i < 50000; i++)
{
str += i;
}
var e = (new Date()).valueOf();
alert(e-s);
}
function add_arr() {
array = new Array();
var s = (new Date()).valueOf();
for (i=0; i<50000; i++)
{
array[i]=i;
}
var str = array.join(',');
var e = (new Date()).valueOf();
alert(e-s);
}
</script>
比较下来,两种方法还是有差别的。
但是测试环境很重要,ie6下面:用“+”效率极其差,消耗的时间比用“join”多了100多倍。。
chrome、firefox浏览器基本上没有差别。
如果考虑到ie的用户的话,用join的方法还是不错的。
也许是因为ie和ff这些浏览器的内存分配使用方法不一样导致的吧。有待研究。