javascript 字符串拼接效率问题

xiaozhiqiang15 2013-11-23 01:24:23
看到项目中有这样的写法:

var html = new String;
html = html.concat("<div>...</div>");
return html;


而本人拼接字符串喜欢这样:

var html = "";
html += "<div>...</div>";
return html;


大神们分析下哪种写法好些。
...全文
592 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雪狐 2013-12-17
  • 打赏
  • 举报
回复
IE浏览器不同,JS的引擎也不一样,join这种方法在老版浏览器比如IE6上比较快,到了后期的IE8,两种写法性能差不多
xiaoqcn 2013-12-16
  • 打赏
  • 举报
回复
我看到的很多写法都是
var builder = [];
builder.push("<div>...</div>");
return builder.join('');
MiceRice 2013-11-25
  • 打赏
  • 举报
回复
引用 3 楼 xiaozhiqiang15 的回复:
这两种写法完全没区别?不可能吧
这类比较意义不大,不同浏览器下的性能表现是有很大差异的,因为大家的JavaScript引擎不同。 但新的浏览器都会更注重对 += 之类字符串连接的进行优化,毕竟这种书写习惯是最多的。 所以,就用“+”吧。
xiaozhiqiang15 2013-11-23
  • 打赏
  • 举报
回复

var html = new String;
是不是应该写成这样:

var html = new String();
看起来是写错了,但运行又没问题。
xiaozhiqiang15 2013-11-23
  • 打赏
  • 举报
回复
这两种写法完全没区别?不可能吧
wangweimutou 2013-11-23
  • 打赏
  • 举报
回复
都行吧,不过字符间减少空格的使用
Todd_Pointer 2013-11-23
  • 打赏
  • 举报
回复
没什么区别吧。 如果是大量字符串拼接的话,比如说1000个拼成一个, 用join可能会快些。不过现在的js解释器都很牛X了,优化功夫做得也很足。

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧