Цикл For

С помощью цикла for можно обходить массивы и подобные массивам объекты, такие как arguments и HTMLCollection.

// обычное использование цикла for
for (var i = 0; i < myarray.length; i++) {
// действия с myarray[i]
}

Длину массива лучше кешировать, для избегания повторных вычислений в операторе for:

for (var i = 0, max = myarray.length; i < max; i++) {
// ...
}

Цикл for можно микро-оптимизировать. Для этого доступно несколько вариантов:

  • Использовать одной переменной меньше (без максимальной)
  • Считать до 0, обычно это быстрее

Первый вариант микро-оптимизации:

var i, myarray = [];
for (i = myarray.length; i--;) {
// ...
}

Второй вариант микро-оптимизации с использование цикла while:

var myarray = [],
i = myarray.length;
while (i--) {
// ...
}
Источник – книга «JavaScript Patterns», Stoyan Stefanov
Редактировать на GitHub