第一種方法 用連接符“+”把要連接的字符串連起來:
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()); //-------------------------------------------------------