首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >+运算符的性能低于StringBuffer.append()

+运算符的性能低于StringBuffer.append()
EN

Stack Overflow用户
提问于 2018-04-17 00:14:02
回答 2查看 0关注 0票数 0

在我的团队中,我们通常做这样的字符串压缩:

代码语言:txt
复制
var url = // some dynamically generated URL
var sb = new StringBuffer();
sb.append("<a href='").append(url).append("'>click here</a>");

显然,以下内容的可读性要高得多:

代码语言:txt
复制
var url = // some dynamically generated URL
var sb = "<a href='" + url + "'>click here</a>";

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

EN

回答 2

Stack Overflow用户

发布于 2018-04-17 08:49:37

InternetExplorer是当今世界唯一真正受到这种困扰的浏览器。(第5版、第6版和第7版“狗慢”。8版没有显示同样的退化。)更重要的是,IE变得越来越慢,你的字符串越长。

如果有长字符串要连接,那么一定要使用array.join技术。

票数 0
EN

Stack Overflow用户

发布于 2018-04-17 09:14:04

在你的示例中,可读性应该优于性能,因为其中一个与另一个性能的增益是可以忽略的。数组(StringBuffer)的好处只有在你进行多次连接时才会明显。即使这样,你的里程也可以非常取决于你的浏览器。

下面是一个详细的性能分析,它显示了在许多不同的浏览器上使用所有不同的JavaScript连接方法的性能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档