Javascript三种字符串连接方式及性能比较
第一种:用连接符“+”连接字符串
str="a";
str+="b";
这种方法相对以下两种,最便捷快速。建议100字符以下的连接使用这种连接方式。
第二种:以数组作为中介,使用jion函数进行连接
vararr=newArray(); arr.push(a); arr.push(b); varstr=arr.join("");
第三种:利用对象属性连接字符串
functionstringConnect(){ this._str_=newArray(); } stringConnect.prototype.append=function(a){ this._str_.push(a); } stringConnect.prototype.toString=function(){ returnthis._str_.join(); } varmystr=newstringConnect; mystr.append("a"); varstr=mystr.toString();
利用下面代码对三种方法性能进行比较,通过更改c的值来调整连接字符串的个数:
varstr=""; vard1,d2; varc=5000;//连接字符串的个数 //------------------------测试第三种方法耗费时间------- d1=newDate(); functionstringConnect(){ this._str_=newArray(); } stringConnect.prototype.append=function(a){ this._str_.push(a); } stringConnect.prototype.toString=function(){ returnthis._str_.join(""); } varmystr=newstringConnect; for(vari=0;i我调整c分别等于5000、50000、500000、5000000,每个数值分别测了10次,最后结果如下:
c=5000
平均耗时(单位毫秒)
第三种 3 2 2 3 1 2 2 1 1 1 1.8
第二种 1 3 0 3 1 3 4 1 4 2 2.2
第一种 0 0 0 0 0 1 1 1 1 1 0.5c=50000
第三种 22 12 9 14 12 13 13 13 10 17 13.5
第二种 8 13 12 8 11 11 8 9 8 9 9.7
第一种 7 12 5 11 10 10 10 13 16 12 10.6c=500000
第三种1047074697677691027373 78.7
第二种7810099991009896719497 93.2
第一种90878385858384838886 85.4c=5000000
第三种6518714654441012436787449432444 599.1
第二种568842593747417747719549573563 631.8
第一种516279616161466416201495510515 417.5统计5000000的时候在地址栏加入了随机参数,应该是避免了缓存的影响的。从结果来看,第一种方法并不比另2种方法消耗多,甚至还更有优势,这点和手册上的说明明显不一致。
测试系统:win7旗舰
浏览器:chrome52.0.2739.0m
总结
以上所述是小编给大家介绍的Javascript三种字符串连接方式及性能比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!