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 Latest Draft (ECMA-262)
while statement
Draft
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

浏览器兼容性

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
while Chrome Full support 1 Edge Full support 12 Firefox Full support 1 IE Full support 3 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

参见