2014-11-16 68 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信息。 ':)' –