Большинство циклов имеют некоторую переменную-счётчик. Эта переменная инициализируется перед началом цикла и проверяется перед каждой итерацией. Далее переменная-счётчик инкрементируется или изменяется каким-либо другим образом в конце тела цикла, непосредственно перед повторной проверкой условия выполнения цикла. Цикл for состоит из ключевого слова for, за которым следуют круглые скобки, внутри которых располагаются три выражения, разделяемые точками с запятой. Он имеет следующий порядок выполнения:
1. Первое выражение всегда вычисляется только один раз - в начале цикла. В цикле for допускается определять переменные, поэтому обычно в качестве первого выражения выступает определение переменной-счётчика.
2. Второе выражение определяет условие выполнения цикла. Оно вычисляется перед каждой итерацией и определяет, будет ли выполняться тело цикла. Если результатом вычисления выражения является истинное значение, инструкции, являющиеся телом цикла - выполняются. Если возвращается ложное значение, выполнение цикла завершается. Если при первой проверке условия, оно оказывается ложным, тело цикла не выполнится ни разу.
3. После каждой итерации вычисляется третье выражение. Обычно его используют для изменения значения переменной-счётчика, которая используется в проверке условия выполнения цикла.
Небольшой пример, в котором выводятся цифры от 0 до 4:
for (var count = 0; count < 5; count++)
document.write(count + " ");
Любое из выражений может отсутствовать, однако сами точки с запятой (;) обязательно должны присутствовать, иначе будет ошибка синтаксиса. Если второе выражение отсутствует, это означает, что цикл будет выполняться бесконечно.
var i = 0;
for (; i < 4; i++) ...
var i = 0;
for (; i < 4; ) ...
for (var i = 1; /* нет условия */ ; i++) ...
// Это эквивалентно следующему коду
for (var i = 1; true; i++) ...
Можно указать несколько выражений, разделяя их оператором запятая.
// не выполнится, так как в проверке условия последнее выражение false