2014-11-16 71 views
1

加入在JavaScript中,加入“多”串在一起时,是不是更地道使用连接运算符(+),框作为数组,然后加入,或做别的东西完全?Concatination VS空字符串

例如:

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

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

回答

3

在第一种情况下,当你作为一个字符串,这里的数据类型是唯一的字符串。字符串中的操作更容易,保持相同的数据类型在这种情况下:

a + b + c + d 

但是当你将它转换成一个数组,然后使用一个join()函数字符串连接在一起,它是一个乏味的任务。您分配一个新的内存空间来创建这些字符串数组,然后你申请对他们join()功能,这肯定拥有与本地运营商的本地字符串函数性能下降。

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

我不是说阵列功能不是本地人,但你是从一种形式转换到另一个,然后把它应用其他操作,这使得它更复杂。

另外我想通过plalx添加评论,在某些浏览器中,join()函数明显更快。所以它也取决于浏览器。

+0

“这始终是更好地去与直接的方法”这种说法是完全不对的。在某些浏览器中,'join'方法是显著更快。 – plalx

+0

@plalx我已将其删除。 –

+0

@plalx谢谢,根据您的评论添加addl信息。 ':)' –