@maksam07

Что производительнее: .each или ... (перебор всех элементов)?

Есть таймер, а точнее много таймеров на одной странице, перебираю сейчас все элементы таймера таким кодом:
var sE = $(".tCount");
for ( var i = 0; i < sE.length; i++) { ... }

Но недавно все таки решил узнать, что такое each, и оказалось, что по сути это то же самое. Но только теперь вопрос. Если у меня на странице таймеров едак 50-200, то какой метод будет более производительный?
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 3
tema_sun
@tema_sun
Вообще, нативный for будет быстрее. А если length закешировать, то еще побыстрее станет.
Ответ написан
@LiguidCool
При таком "большом" количестве элементов разница ничтожна. Ну а так нативный код естественно быстрее, а главное меньше памяти пожрет.

PS В новых версиях ES вроде новые итераторы есть.
Ответ написан
Комментировать
@rPman
в идеальном мире, использование .forEach() позволит в будущем распараллеливать в несколько потоков эти вызовы с меньшим набором проблем чем попытка делать то же самое с циклом for(), особенно если этот цикл на основе i=0;i<.length;i++ (от этих циклов бегите как от огня, просто не привыкайте)

но наш мир не идеален, к тому же, если я не ошибаюсь, .forEach не позволяет делать красивый continue и тем более break... вам придется в коде forEach делать лишние блоки if
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы