do...while

Оператор do...while створює цикл, який виконує вказану інструкцію, доки перевірочна умова не буде оцінена як false. Умова оцінюється після виконання інструкції, в результаті вказана інструкція виконується принаймні один раз.

Синтаксис

do
   statement
while (condition);
statement
Інструкція, яка виконується принаймні один раз, і виконується повторно кожен раз, коли умова оцінюється як true. Для виконання кількох інструкцій, використовуйте блок ({ ... }), щоб згрупувати ці інструкції.
condition
Вираз, який оцінюється після кожного проходу циклу. Якщо condition оцінюється як true, statement виконується повторно. Коли condition оцінюється як false, контроль переходить до наступної після 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) Standard Початкове визначення. Реалізоване у JavaScript 1.2
ECMAScript 5.1 (ECMA-262)
The definition of 'do-while statement' in that specification.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'do-while statement' in that specification.
Standard Кінцева крапка з комою ; тепер необов'язкова.
ECMAScript Latest Draft (ECMA-262)
The definition of 'do-while statement' in that specification.
Draft

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
do...whileChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support 6Opera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

Див. також