第一種:逐個字符串相加
複製代碼代碼如下:
var arr = ['item 1', 'item 2', 'item 3', ...];
list = '';
for (var i = 0,
l = arr.length; i < l; i++) {
list += '' + arr[i] + '';
}
list = '' + list + '';
這種最常見的,但是效率最低!代碼邏輯相對來說複雜。
第二種:逐個push 進數組
複製代碼代碼如下:
var arr = ['item 1', 'item 2', 'item 3', ...],
list = [];
for (var i = 0,
l = arr.length; i < l; i++) {
list[list.length] = '' + arr[i] + '';
}
list = '' + list.join('') + '';
比上一種方法稍微快一些,但還是不夠好…
第三種:直接join()
複製代碼代碼如下:
var arr = ['item 1', 'item 2', 'item 3', ...];
var list = '' + arr.join('') + '';
使用原生的方法(比如join()),不管它後面是怎麼實現的,一般都比其他方法快很多,而且代碼非常簡潔。
瀏覽器性能測試
每種方法是使用一個長度為130 的數組來測試,其中每個元素的長度是多種多樣的,防止瀏覽器對一定長度的字符串做特殊的優化;每種方法測試了1000 次;下面的結果顯示,執行完這1000 次需要的時間: