JavaScript字符串拼接性能

xaoyege 2011-12-07

JavaScript字符串拼接方法:

1.+号:varresult=“hello”+””+“world”;

2.数组join方法:vararr=["hello","","world"];arr.join(“”);

示例代码:

<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方法为好。

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

相关推荐