Скорость конкатенации строк JavaScript

Кто-нибудь может мне объяснить это:

http://jsperf.com/string-concatenation-1/2

Если вы ленивы, я тестировал A) против B):

A)

var innerHTML = "";

items.forEach(function(item) {
    innerHTML += item;
});

B)

var innerHTML = items.join("");

Где items для обоих тестов - это один и тот же массив строк из 500 элементов, причем каждая строка является случайной и имеет длину от 100 до 400 символов.

A) оказывается в 10 раз быстрее. Как это может быть - я всегда думал, что объединение с использованием join ("") было уловкой оптимизации. Есть ли какие-то ошибки в моих тестах?

5
задан afaf12 1 July 2011 в 20:03
поделиться