美文网首页
JavaScript中的字符串拼接

JavaScript中的字符串拼接

作者: BestbpF | 来源:发表于2018-07-28 20:25 被阅读180次

    在js中,字符串拼接很为常见,通过我们之前的一篇文章https://www.jianshu.com/p/18db78490ef5已经大致了解到了Java中的字符串拼接方式以及效率,js中是否类似呢?下面来简单测试一下。
    在日常开发中,字符串拼接通常有两种方法:

    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使用数组方式要快的多,这个并没有测试过。
    个人觉得+号更直观简单一些。

    相关文章

      网友评论

          本文标题:JavaScript中的字符串拼接

          本文链接:https://www.haomeiwen.com/subject/ehwomftx.html