do...while 语句创建一个执行指定语句的循环,直到condition值为 false。在执行statement 后检测condition,所以指定的statement至少执行一次。
语法
do statement while (condition);
-
statement -
执行至少一次的语句,并在每次
condition值为真时重新执行。想执行多行语句,可使用block语句 ({ ... })包裹这些语句。
-
condition -
循环中每次都会计算的表达式。如果
condition值为真,statement会再次执行。当condition值为假,则跳到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 < 5);
document.getElementById('example').innerHTML = result;
结果
规范
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2 |
| ECMAScript 5.1 (ECMA-262) do-while statement |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) do-while statement |
Standard | Trailing ; is now optional. |
| ECMAScript Latest Draft (ECMA-262) do-while statement |
Draft |
浏览器兼容
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out
https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
do...while |
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 4 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
Legend
- Full support
- Full support