--- title: do...while slug: Web/JavaScript/Reference/Statements/do...while translation_of: Web/JavaScript/Reference/Statements/do...while ---
{{jsSidebar("Statements")}}

Vòng lặp do...while tạo ra vòng lặp thực thi các câu lệnh bên trong nó đến khi điều kiện không còn thoả mãn nữa. Điều kiện của vòng lặp sẽ được kiểm tra sau thực thi các câu lệnh, các câu lệnh của vòng lặp sẽ được thực thi ít nhất một lần.

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

Cú pháp

do
   // các câu lệnh
while (// điều kiện);
statement
A statement that is executed at least once and is re-executed each time the condition evaluates to true. To execute multiple statements within the loop, use a {{jsxref("Statements/block", "block")}} statement ({ ... }) to group those statements.
condition
An expression evaluated after each pass through the loop. If condition evaluates to true, the statement is re-executed. When condition evaluates to false, control passes to the statement following the do...while.

Examples

Using do...while

In the following example, the do...while loop iterates at least once and reiterates until i is no longer less than 5.

HTML content

<div id="example"></div>

JavaScript content

var result = '';
var i = 0;
do {
   i += 1;
   result += i + ' ';
} while (i < 5);
document.getElementById('example').innerHTML = result;

Result

{{ EmbedLiveSample('Examples') }}

Specifications

Specification Status Comment
{{SpecName('ES3')}} {{Spec2('ES3')}} Initial definition. Implemented in 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')}} Trailing ; is now optional.
{{SpecName('ESDraft', '#sec-do-while-statement', 'do-while statement')}} {{Spec2('ESDraft')}}

Browser compatibility

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

See also