在我的团队中,我们通常做这样的字符串压缩:
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()
。这真的是真的吗?
发布于 2018-04-17 08:49:37
InternetExplorer是当今世界唯一真正受到这种困扰的浏览器。(第5版、第6版和第7版“狗慢”。8版没有显示同样的退化。)更重要的是,IE变得越来越慢,你的字符串越长。
如果有长字符串要连接,那么一定要使用array.join技术。
发布于 2018-04-17 09:14:04
在你的示例中,可读性应该优于性能,因为其中一个与另一个性能的增益是可以忽略的。数组(StringBuffer)的好处只有在你进行多次连接时才会明显。即使这样,你的里程也可以非常取决于你的浏览器。
下面是一个详细的性能分析,它显示了在许多不同的浏览器上使用所有不同的JavaScript连接方法的性能。
https://stackoverflow.com/questions/-100003889
复制相似问题