您的位置:首页 > Web前端 > JavaScript

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

2017-04-11 12:52 661 查看
工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较。

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

str=”a”;

str+=”b”;

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

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

var arr=new Array();

arr.push(a);

arr.push(b);

var str=arr.join(“”);

w3school 网站介绍说这种方法要比第一种消耗更少的资源,速度也更快,后面我们通过实验再验证是否是这样。

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

复制代码

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript