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()); //-------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM