Явный цикл for
определенно будет намного быстрее, чем $.each()
, главным образом потому, что он выполняет вызов функции для каждого элемента, но также и по другим причинам, например, с новым кадром выполнения поискавремя для html_str
будет больше.
Есть некоторые эмпирические доказательства (я думаю, что это было справедливо для старых браузеров, я не уверен, что быстрее в настоящее время или на мобильных устройствах, стоит проверить) что добавление элементов в массив (с переменной цикла html_str[i]
, а не html_str.push()
) и последующий вызов .join
происходит быстрее, чем конкатенация строк.
Как уже упоминалось, добавление одного большого DOMstring быстрее, чем небольшие добавления, и намного быстрее, чем использование методов DOM (appendChild, insertBefore и т. д.).
Хороший шаблонизатор сделает эти вещи за вас (за небольшую дополнительную плату), хотя яЯ не уверен, если многие из них делают.И если это всего лишь небольшое количество шаблонов, то использование библиотеки может оказаться излишним, когда простой цикл делает свое дело.