javascript - + 运算符的性能是否低于 StringBuffer.append()

标签 javascript string concatenation

在我的团队中,我们通常像这样进行字符串连接:

var url = // some dynamically generated URL
var sb = new StringBuffer();
sb.append("<a href='").append(url).append("'>click here</a>");

显然以下内容更具可读性:

var url = // some dynamically generated URL
var sb = "<a href='" + url + "'>click here</a>";

但是 JS 专家声称 + 运算符的性能不如 StringBuffer.append()。这是真的吗?

最佳答案

您的示例不是一个好示例,因为性能不太可能有显着差异。在您的示例中,可读性应该胜过性能,因为一个与另一个的性能增益可以忽略不计。数组 (StringBuffer) 的好处只有在进行许多连接时才会显现出来。即使那样,您的里程也可能取决于您的浏览器。

这是一个详细的性能分析,显示了在许多不同的浏览器上使用所有不同的 JavaScript 连接方法的性能; String Performance an Analysis

join() once, concat() once, join() for, += for, concat() for

更多:
Ajaxian >> String Performance in IE: Array.join vs += continued

关于javascript - + 运算符的性能是否低于 StringBuffer.append(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112158/

相关文章:

PHP 错误,成员初始化程序中 array() 中的串联

c - 如何将 unicode 字符串文字与字节连接?

javascript - 选中复选框时将数据推送到数组,取消选中复选框时删除数据

asp.net - 如何从代码隐藏文件中的asp.net用户控件注册(调用)jQuery函数?

string - 计算可被 6 整除的子序列数的高效算法

mysql - CONCAT() inside GROUP_CONCAT() with count

javascript - `console.log([])` 和 `console.log([].toString())` 提供不同的输出

javascript - Bootstrap 导航栏有效

php - 检查字符串中是否有按字母顺序排列的字符

java - 保龄球得分和异常处理