搜索
您的当前位置:首页正文

JavaScript中的字符串拼接

来源:哗拓教育
1. +号拼接
2. 将字符串循环放入数组,然后通过数组的join()方法。

具体测试代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">    
</head>

<body>
    字符串拼接次数:<input type="text" id="count" value="1000" /> 
    <button id="test1" onclick="f1()">通过+号来拼接字符串</button>
    <button id="test2" onclick="f2()">通过数组添加字符串然后join('')</button>
    <div id="result1"></div>
    <div id="result2"></div>
</body>
    
<script type="text/javascript">
    var s = 'sjahdiuahfoiahdfiahdio';
    function f1(){
        var result = '';
        var count = document.getElementById("count").value;
        var start = new Date().getTime();
        
        for(var i = 0; i < count; i ++){
            result += s;
        }

        var end = new Date().getTime();
        document.getElementById("result1").innerHTML = "字符串长度为:" + result.length + " 使用+号拼接耗时:" + (end - start) + "毫秒";
    }
    
    function f2(){
        var arr = [];
        var result = '';
        var count = document.getElementById("count").value;
        var start = new Date().getTime();
        
        for(var i = 0; i < count; i ++){
            arr.push(s);
        }
        result = arr.join('');
        arr = null;

        var end = new Date().getTime();
        document.getElementById("result2").innerHTML = "字符串长度为:" + result.length + "使用数组join拼接耗时:" + (end - start) + "毫秒";
    }
    
</script>
</html>

结论

不同浏览器测试结果

😓通过测试发现好像区别不是很大,不过据说老版本的IE使用数组方式要快的多,这个并没有测试过。
个人觉得+号更直观简单一些。

Top