do/while
The do/while
loop is much like a while
loop, except that the
loop expression is tested at the bottom of the loop rather than at
the top. This means that the body of the loop is always executed at
least once. The syntax is:
dostatement
while (expression
);
The do/while
statement is implemented in
JavaScript 1.2 and later and standardized by ECMAScript v3.
The do/while
loop is less commonly used than its
while
cousin. This is because, in practice, it is
somewhat uncommon to encounter a situation in which you are always
sure that you want a loop to execute at least once. For example:
function printArray(a) { if (a.length == 0) document.write("Empty Array"); else { var i = 0; do { document.write(a[i] + "<br>"); } while (++i < a.length); } }
There are a couple of differences between the
do/while
loop and the ordinary
while
loop. First, the do
loop
requires both the do
keyword
(to mark the beginning of the loop) and the while
keyword (to mark the end and introduce the loop condition). Also,
unlike the while
loop, the do
loop is terminated with a semicolon. This is because the
do
loop ends with the loop condition, rather than
simply with a curly brace that marks the end of the loop body.
In JavaScript 1.2, there is a bug in the
behavior of the continue
statement (see Section 6.12) when it is used inside a
do/while
loop. For this reason, you should avoid
the use of continue
within
do/while
statements in JavaScript 1.2.
Get JavaScript: The Definitive Guide, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.