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這些瀏覽器的內存分配使用方法不一樣導致的吧。有待研究。