--- title: do...while slug: Web/JavaScript/Reference/Statements/do...while tags: - JavaScript - Цикл translation_of: Web/JavaScript/Reference/Statements/do...while ---
{{jsSidebar("Statements")}}

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

{{EmbedInteractiveExample("pages/js/statement-dowhile.html")}}

Синтаксис

do
   statement
while (condition);
statement
Інструкція, яка виконується принаймні один раз, і виконується повторно кожен раз, коли умова оцінюється як true. Для виконання кількох інструкцій, використовуйте {{jsxref("Statements/block", "блок")}} ({ ... }), щоб згрупувати ці інструкції.
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;

Результат

{{ EmbedLiveSample('Examples') }}

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

Специфікація Статус Коментар
{{SpecName('ES3')}} {{Spec2('ES3')}} Початкове визначення. Реалізоване у JavaScript 1.2
{{SpecName('ES5.1', '#sec-12.6.1', 'do-while statement')}} {{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-do-while-statement', 'do-while statement')}} {{Spec2('ES6')}} Кінцева крапка з комою ; тепер необов'язкова.
{{SpecName('ESDraft', '#sec-do-while-statement', 'do-while statement')}} {{Spec2('ESDraft')}}

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

{{Compat("javascript.statements.do_while")}}

Див. також