首页 > 解决方案 > 字符串 + 字符串 VS += 在 JavaScript 中

问题描述

在空间和/或性能方面,在 Javascript 中将许多字符串文字连接在一起的情况下,添加字符串的更有效方法是什么?

x += y;x + y;我一直在思考这个问题。当然,对于只有两个字符串连接在一起的情况,几乎没有区别,但是对于在 JS 中构建 CSS 或 html 文档或巨大 XML 的情况,无论出于何种原因呢?

string += " classA {}";
...
.....
string += "classX {}";

VS

string + "classA {}" +
...
.....
+ "classX {}";

抱歉,这听起来像是一个基本问题,但是当我不得不用 Java 编写 XML 解析器并实现 StringBuilder 的用法时,我遇到了类似的问题。不确定这如何转化为 JavaSript。

标签: javascriptstringperformanceconcatenation

解决方案


你想修改x吗?更具体地说,是否x被修改是否重要?

x + y除非用作参数或捕获到变量,否则它本身不会做任何事情。let z = x + y确实如此f(x + y)

x += y相当于x = x + yand so 修改x,这可能是也可能不是你想要的。

通常,如果您的意图是“附加到x”并保存结果,那么您会说x += y.

如果您的意图是在其他地方使用组合xy,例如f(x + y),那么这是合适的。这里f(x += y)发送混合消息,因为不清楚你为什么要追加调用。


推荐阅读