字符串拼接性能测试
?
首选看看别人对自字符串的拼接的一些分析:JavaScript字符串数组拼接的性能
?
示例代码:
?
<html><head><script type="text/javascript"> function main() {var str = "Hello World";var tab = "";document.getElementById("time1").innerHTML = new Date().getTime();for (var i = 0; i < 10000; i++) {tab += str + i;}document.getElementById("time2").innerHTML = new Date().getTime();var tab2 = [];document.getElementById("time3").innerHTML = new Date().getTime();for (var i = 0; i < 10000; i++) {tab2.push(str + i);}document.getElementById("time4").innerHTML = new Date().getTime();}</script></head><body onload="main();"><div id="time1"></div><div id="time2"></div><div id="time3"></div><div id="time4"></div></body></html>??
?选取的数据为10000次连接相加,测试结果如下:
?
浏览器 ? ? ? ?字条串+字符串数组joinIE6171毫秒 ? ? ? ?30毫秒IE7171毫秒20毫秒Chrome153毫秒1毫秒Firefox81毫秒1毫秒Opera11.523毫秒3毫秒?
? ? 在现代的浏览器中,通过+与通过join在IE上有比较大的不同,如果考虑的是主要为IE6和IE7等用户的话,数据量大,则优先考虑使用数组的join方法为好。
? ? 当然,如果数据量小的话或者是数据较短,而语义上有连续的话,使用+为好,比较直接,容易看懂。