连接与空字符串连接

时间:2014-11-16 00:11:19

标签: javascript string concatenation idioms

在JavaScript中,加入"很多"字符串在一起,使用连接运算符(+),将数据框作为数组然后加入,还是完全做其他事情是更惯用的?

例如:

var a = '1', b = '3', c = '3', d = '7';

a + b + c + d          // => "1337"
// VS 
[a, b, c, d].join('')  // => "1337
// VS
// ... something else?

1 个答案:

答案 0 :(得分:3)

在第一种情况下,当您以字符串形式执行时,此处的数据类型仅为字符串。字符串中的操作更容易,在这种情况下保持相同的数据类型:

a + b + c + d

但是当你通过将字符串转换为数组然后使用join()函数来连接字符串时,这是一项繁琐的工作。您正在分配一个新的内存空间来创建这些字符串的数组,然后您在它们上应用join()函数,这肯定会使本机运算符的本机字符串函数性能下降。

[a, b, c, d].join('')

我并不是说数组函数不是原生函数,而是你将它们从一种形式转换为另一种形式,然后在其上应用其他操作,这使它更复杂。

此外,我想在plalx添加评论,在某些浏览器中,join()功能明显更快。所以它还取决于浏览器。