Выражение do...while создает цикл, который выполняет указанное выражение до тех пор, пока условие не станет ложным. Условие проверяется после выполнения выражения, то есть выражение выполнится как минимум один раз.
Синтаксис
do выражение while (условие);
выражение- Выражение, которое выполняется как минимум один раз и выполняется на каждом шаге цикла, пока условие истинно. Выражение может содержать несколько строк, для этого необходимо сгруппировать код в
блок({ ... }).
условие- Выражение, которое вычисляется после каждого шага цикла. Если
условиеистинно, товыражениевыполняется еще раз. Когдаусловиеложно, выполняется выражение, следующее послеdo...while.
Примеры
Использование do...while
В примере, цикл do...while выполняется до тех пор, пока i не перестанет быть меньше 5.
HTML
<div id="example"></div>
JavaScript
var result = '';
var i = 0;
do {
i += 1;
result += i + ' ';
} while (i > 0 && i < 5); // Немотря на то, что i == 0, цикл всё равно продолжится, так как начинается без теста
document.getElementById('example').innerHTML = result;
Результат
Спецификации
| Спецификация | Статус | Комментарий |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Стандарт | Изначальное определение. Реализовано в JavaScript 1.2 |
| ECMAScript 5.1 (ECMA-262) Определение 'do-while statement' в этой спецификации. |
Стандарт | |
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'do-while statement' в этой спецификации. |
Стандарт | Использование ; теперь необязательно |
| ECMAScript (ECMA-262) Определение 'do-while statement' в этой спецификации. |
Живой стандарт |
Поддержка в браузерах
Update compatibility data on GitHub
| Компьютеры | Мобильные | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
do...while | Chrome Полная поддержка 1 | Edge Полная поддержка 12 | Firefox Полная поддержка 1 | IE Полная поддержка 4 | Opera Полная поддержка 4 | Safari Полная поддержка 1 | WebView Android Полная поддержка 1 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 10.1 | Safari iOS Полная поддержка 1 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.1.100 |
Легенда
- Полная поддержка
- Полная поддержка