• JS中三种字符串连接方式及其性能比较


    第一种方法  用连接符“+”把要连接的字符串连起来:

    str="a";
    str+="b";

    毫无疑问,这种方法是最便捷快速的,如果只连接100个以下的字符串建议用这种方法最方便。

    第二种方法  以数组作为中介用 join 连接字符串:

    var arr=new Array();
    arr.push(a);
    arr.push(b);
    var str=arr.join("");

    第三种方法  利用对象属性来连接字符串

    复制代码
    function stringConnect(){
        this._str_=new Array();
    }
    stringConnect.prototype.append=function(a){
        this._str_.push(a);
    }
    stringConnect.prototype.toString=function(){
        return this._str_.join();
    }
        var mystr=new stringConnect;
        mystr.append("a");
        var str=mystr.toString();
    复制代码

    利用下面代码对三种方法性能进行比较,通过更改 c 的值来调整连接字符串的个数:

    复制代码
    var str="";
    var d1,d2;
    var c=5000;//连接字符串的个数

    //------------------------测试第三种方法耗费时间------- d1=new Date(); function stringConnect(){ this._str_=new Array(); } stringConnect.prototype.append=function(a){ this._str_.push(a); } stringConnect.prototype.toString=function(){ return this._str_.join(""); } var mystr=new stringConnect; for(var i=0;i<c;i++){ mystr.append("a"); } str=mystr.toString(); d2=new Date(); console.log(d2.getTime()-d1.getTime()); //----------------------------------------------------- //------------------------测试第二种方法耗费时间------- d1=new Date(); var arr=new Array(); for(var i=0;i<c;i++){ arr.push("a"); } str=arr.join(""); d2=new Date(); console.log(d2.getTime()-d1.getTime()); //------------------------------------------------------- //------------------------测试第一种方法耗费时间------- d1=new Date();for(var i=0;i<c;i++){ str+="a"; } d2=new Date(); console.log(d2.getTime()-d1.getTime()); //-------------------------------------------------------
  • 相关阅读:
    Philosophy is systematic reflective thinking on life.
    HashMap与HashTable的区别、HashMap与HashSet的关系
    android Intent机制详解
    Android Parcelable理解与使用(对象序列化)
    Java并发编程:volatile关键字解析
    JavaEE 对象的串行化(Serialization)
    pytorch学习
    numpy的一些用法
    约瑟夫问题
    双向链表及其操作
  • 原文地址:https://www.cnblogs.com/yourName/p/8532152.html
Copyright © 2020-2023  润新知