最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

【js运算性能系列】拼接字符串的方法及性能比较

来源:动视网 责编:小采 时间:2020-11-27 20:31:36
文档

【js运算性能系列】拼接字符串的方法及性能比较

【js运算性能系列】拼接字符串的方法及性能比较:将多个字符串拼接在一起,通常有以下三种方法,在实践中都是经常用到的。使用字符串连接符 +, 'string1' + 'string2' + ...使用数组的join函数。先把字符串写入临时数组中,然后调用数组的join方法,将其中的字符串元素连接起来。使
推荐度:
导读【js运算性能系列】拼接字符串的方法及性能比较:将多个字符串拼接在一起,通常有以下三种方法,在实践中都是经常用到的。使用字符串连接符 +, 'string1' + 'string2' + ...使用数组的join函数。先把字符串写入临时数组中,然后调用数组的join方法,将其中的字符串元素连接起来。使
 将多个字符串拼接在一起,通常有以下三种方法,在实践中都是经常用到的。

使用字符串连接符 ‘+’, 'string1' + 'string2' + ...

使用数组的join函数。先把字符串写入临时数组中,然后调用数组的join方法,将其中的字符串元素连接起来。

使用字符串的concat函数。

方法一: 使用字符串连接符 ‘+’

var concat1 = function(str1, str2){
 return str1 + str2;
};

方法二: 使用数组的join函数

var concat2 = function(str1, str2){
 var arr = [];
 arr.push(str1);
 arr.push(str2);

 return arr.join();
};

方法三: 使用字符串的concat函数

var concat3 = function(str1, str2){
 return str1.concat(str2);
};

性能总结

我在本地用Benchmark对上述两种方法做了性能对比,测试环境为Testing in Chrome 46.0.2490 / Mac OS X 10.10.4,结果如下:

concat#+ x 90,483,047 ops/sec ±2.06% (84 runs sampled)
concat#array-jion x 12,303,912 ops/sec ±0.90% (82 runs sampled)
concat#string-concat x 40,845,196 ops/sec ±0.83% ( runs sampled)
Fastest is concat#+

也就是说在chrome 46下,使用字符串连接符‘+’的效率要高很多。
当然这只是在chrome 46环境下的测试,并不能代表所有的浏览器平台。

在jsPerf也有类似的性能测试 https://jsperf.com/concat-vs-...
测试效果如下:

在旧浏览器(ie7-)下用 join 会更高效。

在现代浏览器,尽量用"+",更高效。

当然,在少数现代浏览器里 “+” 不一定会比 join 快(如,safari 5.0.5,opera 11.10)

本身是字符串数组的,直接 join 会更好。

在"+"与concat之间,当然是优选使用"+",方便又直观又高效。

文档

【js运算性能系列】拼接字符串的方法及性能比较

【js运算性能系列】拼接字符串的方法及性能比较:将多个字符串拼接在一起,通常有以下三种方法,在实践中都是经常用到的。使用字符串连接符 +, 'string1' + 'string2' + ...使用数组的join函数。先把字符串写入临时数组中,然后调用数组的join方法,将其中的字符串元素连接起来。使
推荐度:
标签: 连接 js 字符串
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top