在我的团队中,我们通常像这样进行字符串连接:
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
更多:
Ajaxian >> String Performance in IE: Array.join vs += continued
关于javascript - + 运算符的性能是否低于 StringBuffer.append(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112158/