当前位置: 代码迷 >> Web前端 >> 字符串拼凑性能测试
  详细解决方案

字符串拼凑性能测试

热度:92   发布时间:2012-08-24 10:00:21.0
字符串拼接性能测试

?

首选看看别人对自字符串的拼接的一些分析: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次连接相加,测试结果如下:

?

浏览器 ? ? ? ? 字条串+ 字符串数组join
IE6 171毫秒 ? ? ? ? 30毫秒
IE7 171毫秒 20毫秒
Chrome15 3毫秒 1毫秒
Firefox8 1毫秒 1毫秒
Opera11.52 3毫秒 3毫秒

?

? ? 在现代的浏览器中,通过+与通过join在IE上有比较大的不同,如果考虑的是主要为IE6和IE7等用户的话,数据量大,则优先考虑使用数组的join方法为好。

? ? 当然,如果数据量小的话或者是数据较短,而语义上有连续的话,使用+为好,比较直接,容易看懂。

  相关解决方案