--- title: while slug: Web/JavaScript/Reference/Statements/while tags: - JavaScript - Statement translation_of: Web/JavaScript/Reference/Statements/while ---
while 语句可以在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。
while (condition) statement
conditionstatement就会被执行。如果求值为假,则跳出while循环执行后面的语句。statement{ ... })包住多条语句。break语句在condition计算结果为真之前停止循环。下面的 while 循环会一直循环若干次,直到 n 等于 3。
var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}
在每次循环中,n 都会自增 1,然后再把 n 加到 x 上。因此,在每轮循环结束后,x 和 n 的值分别是:
n = 1,x = 1n = 2,x = 3n = 3,x = 6当完成第三轮循环后,条件表达式n< 3 不再为真,因此循环终止。
| 规范 | 状态 | 备注 |
|---|---|---|
| {{SpecName('ESDraft', '#sec-while-statement', 'while statement')}} | {{Spec2('ESDraft')}} | |
| {{SpecName('ES6', '#sec-while-statement', 'while statement')}} | {{Spec2('ES6')}} | |
| {{SpecName('ES5.1', '#sec-12.6.2', 'while statement')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES3', '#sec-12.6.2', 'while statement')}} | {{Spec2('ES3')}} | |
| {{SpecName('ES1', '#sec-12.6.1', 'while statement')}} | {{Spec2('ES1')}} | Initial definition |
{{Compat("javascript.statements.while")}}