循环语句可以让一段代码执行一定的次数。
Example 2.18. 循环语句
// logs 'try 0', 'try 1', ..., 'try 4'
for (var i=0; i<5; i++) {
console.log('try ' + i);
}
在 Example 2.18, “循环语句”,即使我们在变量名 i前使用关键字var,这也并不意味着 i 变量的作用域在
循环体内。我们将在后面的章节讨论变量的作用域。
for 循环由以下几个部分构成
for ([initialisation初始化]; [conditional条件判断]; [iteration迭代]) [loopBody循环体]
初始化部分在循环开始前执行一次。可以在此声明循 欢中需要用到的变量
条件判断部分在每次循环前执行,它的返回值决定了 循环是否继续。如果返回值为false,那么循环将被终止
迭代部分该部分在每次循环结束时执行,你可以借此改变重要变 量的状态和值。通常在这里进行自加和自减运算,让循环更接近终止。
循环体 每次循环时执行,你可以在( {...})中放入你想运行的代码。
这是一个典型的 for 循环:
Example 2.19. 典型的for 循环
for (var i = 0, limit = 100; i < limit; i++) {
// 代码将要执行100次。
console.log('Currently at ' + i);
// 最后输出的i值为99。
}
while 循环和if语句类似,除了它的函数体
会一直循环执行,直到条件部分返回false。
while ([条件判断]) [循环体]
这里是一个典型的 while 循环:
Example 2.20. 典型的 while循环
var i = 0;
while (i < 100) {
// 代码会被执行100次。
console.log('Currently at ' + i);
i++; // i的自加。
}
你会看到我们在循环体内进行计数器i的自加运算。事实上我们也可以在条件判断部分进行自加运算,比如:
Example 2.21. while 循环,在条件判断部分对计数器i进行自加
var i = -1;
while (++i < 100) {
// 这里的代码会被执行100次
console.log('Currently at ' + i);
}
注意我们是从-1 开始并且把自加运算符放在变量前(++i).
该循环和while循环类似,循环体在条件判断之前执行。
do [循环体] while ([条件判断])
这是一个 do-while 循环:
Example 2.22. 一个 do-while 循环
do {
// 即使条件判断返回值为false,循环体还是被执行了一次。
alert('Hi there!');
} while (false);
这些循环类型很少用,仅仅在至少执行一次的情况下才需要这种循环。无论如何,意识到这一点就很好。
Copyright Rebecca Murphey, released under the Creative Commons Attribution-Share Alike 3.0 United States license.