TL;DR
- 循环用于重复一系列语句。每个重复称为一个迭代,与循环关联的代码块称为循环主体。
- 当某个条件为真时,
while循环将重复执行。for循环能够控制在循环开始之前和每次循环迭代运行之后的情况。 - 与循环条件关联的变量称为计数器,通常命名为
i。 - 注意!
while循环的条件最终必须为false,以避免无限循环。 - 所有循环都可以用
while来写,但如果事先知道循环多少次,for循环是最佳选择。
while 循环
while 循环可以在满足特定条件时重复执行代码:
1 | while (condition) { |
与循环关联的代码称为循环主体(body),循环主体的单次执行叫作一次迭代。while 语句,在每次循环迭代前,都要对条件进行评估以确定其是否成立。
- 如果条件的值为
true,则执行while循环主体中的代码,然后,重新评估该条件以检查其是否仍然正确。循环继续。 - 如果条件的值为
false,则循环主体代码停止执行或不执行。
while循环主体必须放在花括号({...})中。(主体只有一条语句时,可以省略花括号,但作为初学者,应该始终使用)
for 循环
for 循环更加复杂,但它是最常用的循环形式:
1 | for ( initialization; condition; final expression ) { |
- initialization:初始值,进入循环时执行一次。
- condition:条件,每次循环迭代之前检查是否为真,如果为
false,停止循环。 - loop body:循环主体,条件为真是,重复运行。
- final expression:最终表达式,每次循环迭代后执行。
循环计数器
上述 for 循环中的变量称为计数器,通常命名为 i。计数器可以在循环初始化是声明,以将其范围限制在循环主体中。
1 | for (let i = 1; i <= 5; i++>) { |
应该使用哪个循环?
for 循环之所以出色,是因为它包含默认计数的概念,从而避免了无限循环的问题。但是,这意味着必须时写代码时就需要知道希望循环运行多少次,对于尚不知道代码应运行多少次的情况,while 循环是有意义的。
所有循环都可以用 while 来写,但如果事先知道循环多少次,for 循环是最佳选择。