while

while 语句可以在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。

语法

while (condition)
  statement
condition
条件表达式,在每次循环前被求值。如果求值为真,statement就会被执行。如果求值为假,则跳出while循环执行后面的语句。
statement
只要条件表达式求值为真,该语句就会一直被执行。要在循环中执行多条语句,可以使用块语句({ ... })包住多条语句。
注意:使用break语句在condition计算结果为真之前停止循环。

示例

下面的 while 循环会一直循环若干次,直到 n 等于 3

var n = 0;
var x = 0;

while (n < 3) {
  n++;
  x += n;
}

在每次循环中,n 都会自增 1,然后再把 n 加到 x 上。因此,在每轮循环结束后,xn 的值分别是:

  • 第一轮后:n = 1,x = 1
  • 第二轮后:n = 2,x = 3
  • 第三轮后:n = 3,x = 6

当完成第三轮循环后,条件表达式n< 3 不再为真,因此循环终止。

规范

规范 状态 备注
ECMAScript (ECMA-262)
while statement
Living Standard
ECMAScript 2015 (6th Edition, ECMA-262)
while statement
Standard
ECMAScript 5.1 (ECMA-262)
while statement
Standard
ECMAScript 3rd Edition (ECMA-262)
while statement
Standard
ECMAScript 1st Edition (ECMA-262)
while statement
Standard Initial definition

浏览器兼容性

BCD tables only load in the browser

参见