Инициализирующее выражение, изменяющее выражение и условие окончания цикла не являются обязательными, и любое из них может быть опущено. Однако следует оставлять разделитель (;) для правильной интерпретации оставшихся
выражений. Например, в случае отсутствия условия завершения цикла заголовок цикла for будет выглядеть следующим образом: for (var i=0; ;i+2).
Следующий цикл выводит в документ значения степеней двойки:
Цикл while выполняется пока истинно выражение, задающее условие выполнения цикла:
while (условие) {
[операторы]
}
Сначала проверяется истинность условия, заданного в заголовке цикла, а затем выполняются (или не
выполняются) операторы тела цикла. Проверка истинности условия осуществляется на каждом шаге цикла. Использование этого цикла предполагает,что условное выражение окончания цикла меняется в зависимости от вычисленных значений переменных и выражений в теле цикла. Например, следующий фрагмент кода
s = "Example"; i = 0;
while (i<s. length) {
document . write (s. substr (i, 1) , "<BR>")
i++;
}
выведет в документ слово "Example" по одной букве в строке.
Иногда необходимо завершить цикл не по условию, задаваемому в заголовке цикла, а в результате
вычисления некоторого условия в теле цикла. Для этой цели в JavaScript существуют операторы break и continue.
Оператор break завершает выполнение цикла и передает управление оператору, непосредственно следующим за оператором цикла. Оператор continue прекращает выполнение текущей итерации и начинает
выполнение следующей, т. е. в цикле while он передает управление на проверку выражения условие цикла, а в цикле for - на вычисление выражения изменяющее_выражение.