Оператор while создает цикл, выполняющий заданную инструкцию, пока истинно проверяемое условие. Логическое значение условия вычисляется перед исполнением тела цикла.

Синтаксис

while (условие) {
  инструкция
}
условие
Выражение, логическое значение которого проверяется каждый раз перед заходом в цикл. Если значение истинно, то исполняется инструкция. Когда значение становится ложным, выполняется код, следующий за циклом while.
инструкция
Инструкция, которая исполняется каждый раз, пока истинно условие. Чтобы выполнить несколько инструкций в цикле, используйте блочный оператор ({ ... }) для их группировки.

Примеры

Следующий цикл while исполняется, пока n не превышает трёх.

var n = 0;
var x = 0;

while (n < 3) {
  n++;
  x += n;
}

На каждой итерации цикла n увеличивается на единицу и прибавляется к x. Таким образом, x и n принимают следующие значения:

  • После первого прохода: n = 1 и x = 1
  • после второго прохода: n = 2 и x = 3
  • После третьего прохода: n = 3 и x = 6

После окончания третьей итерации условие n < 3 больше не является истинным, поэтому цикл завершается.

Спецификации

Спецификация Статус Комментарий
ECMAScript Latest Draft (ECMA-262)
Определение 'while statement' в этой спецификации.
Черновик  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'while statement' в этой спецификации.
Стандарт  
ECMAScript 5.1 (ECMA-262)
Определение 'while statement' в этой спецификации.
Стандарт  
ECMAScript 3rd Edition (ECMA-262)
Определение 'while statement' в этой спецификации.
Стандарт  
ECMAScript 1st Edition (ECMA-262)
Определение 'while statement' в этой спецификации.
Стандарт Изначальное определение

Совместимость с браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

Смотрите также

Метки документа и участники

Внесли вклад в эту страницу: KTatyana
Обновлялась последний раз: KTatyana,