Może ktoś wyjaśnić mi jedno:ciąg JavaScript prędkość konkatenacji
http://jsperf.com/string-concatenation-1/2
Jeśli jesteś leniwy, testowałem A) vs b):
A)
var innerHTML = "";
items.forEach(function(item) {
innerHTML += item;
});
B)
var innerHTML = items.join("");
Gdzie items
dla obu testów jest tą samą tablicą składającą się z 500 elementów, przy czym każdy ciąg jest losowy i ma długość od 100 do 400 znaków.
A) kończy się o 10 razy szybciej. Jak to możliwe - zawsze uważałem, że łączenie się przy użyciu join("")
było sztuczką optymalizacyjną. Czy moje testy są błędne?
Jeśli nie dołączasz do bardzo dużej liczby ciągów (bardzo duże jest zależne od przeglądarki), 'Array.Join' jest wolniejsze niż' + ' – Mrchief