do-while 语句是一种后测试循环语句,即循环体中的代码执行后才会对退出条件进行求值。换句 话说,循环体内的代码至少执行一次。do-while 的语法如下:
do {
statement
} while (expression);
下面是一个例子:
let i = 0; do {
i += 2;
} while (i < 10);
在这个例子中,只要 i 小于 10,循环就会重复执行。i 从 0 开始,每次循环递增 2。
1. while语句:
while 语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。因此,while 循 环体内的代码有可能不会执行。下面是 while 循环的语法:
while(expression) statement
这是一个例子:
let i = 0;
while (i < 10) {
i += 2; }
在这个例子中,变量 i 从 0 开始,每次循环递增 2。只要 i 小于 10,循环就会继续。
2. for语句:
for 语句也是先测试语句,只不过增加了进入循环之前的初始化代码,以及循环执行后要执行的表 达式,语法如下:
for (initialization; expression; post-loop-expression) statement
下面是一个用例:
let count = 10;
for (let i = 0; i < count; i++) {
console.log(i);
}
以上代码在循环开始前定义了变量 i 的初始值为 0。然后求值条件表达式,如果求值结果为 true (i < count),则执行循环体。因此循环体也可能不会被执行。
let count = 10;
let i = 0;
while (i < count) {
console.log(i);
i++; }
在 for 循环的初始化代码中,其实是可以不使用变量声明关键字的。不过,初始化定义的迭代器变 量在循环执行完成后几乎不可能再用到了。因此,最清晰的写法是使用 let 声明迭代器变量,这样就可 6 以将这个变量的作用域限定在循环中。
初始化、条件表达式和循环后表达式都不是必需的。因此,下面这种写法可以创建一个无穷循环:
for (;;) {
// 无穷循环 doSomething();
}
如果只包含条件表达式,那么 for 循环实际上就变成了 while 循环:
let count = 10;
let i = 0;
for (; i < count; ) {
console.log(i); 9
i++; }