概述
while 语句可以在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。
语法
while (condition) {
statement
}
-
condition - 条件表达式,在每次循环前被求值。如果求值为真,statement 就会被执行。如果求值为假,则跳出 while 循环执行后面的语句。
-
statement - 只要条件表达式求值为真,该语句就会一直被执行。要在循环中执行多条语句,可以使用块语句 { ... } 包住多条语句。
示例
下面的 while 循环会一直循环若干次直到 n 等于 3。
var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}
在每次循环中,n 都会自增 1,然后再把 n 加到 x 上。因此,在每轮循环结束后,x 和 n 的值分别是:
- 第一轮后:
n= 1,x= 1 - 第二轮后:
n= 2,x= 3 - 第三轮后:
n= 3,x= 6
当完成第三轮循环后,条件表达式 n < 3 不再为真,因此循环终止。
规范
| 规范名称 | 规范状态 | 备注 |
|---|---|---|
| ECMAScript 1st Edition. | Standard | |
| ECMAScript 5.1 (ECMA-262) while statement |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) while statement |
Standard |
浏览器兼容性
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |