我们经常需要重复执行一些操作。
例如,我们需要将列表中的商品逐个输出,或者运行相同的代码将数字 1 到 10 逐个输出。

循环 是一种重复运行同一代码的方法。

while 循环

while 循环的语法如下:

while (condition) {
  // 代码
  // 所谓的“循环体” 
}

conditiontrue 时,执行循环体的 code

例如,以下将循环输出当 i < 3 时的 i 值:

var i = 0;
while (i < 3) { // 依次显示 0、1 和 2
  console.log( i );
  i++;
}

循环体的单次执行叫作 一次迭代。上面示例中的循环进行了三次迭代。

如果上述示例中没有 i++,那么循环(理论上)会永远重复执行下去。

任何表达式或变量都可以是循环条件,而不仅仅是比较。在 while 中的循环条件会被计算,计算结果会被转化为布尔值。

例如,while (i != 0) 可简写为 while (i)

var i = 3;
while (i) { // 当 i 变成 0 时,条件为 false,循环终止
  console.log( i );
  i--;
}

do..while 循环

使用 do..while 语法可以将条件检查移至循环体 下面

do {
  // 循环体
} while (condition);

循环首先执行循环体,然后检查条件,当条件为真时,重复执行循环体。

例如:

var i = 0;
do {
  console.log( i );
  i++;
} while (i < 3);

这种形式的语法很少使用,除非你希望不管条件是否为真,循环体 至少执行一次。通常我们更倾向于使用另一个形式:while(…) {…}

while 循环练习

题目:假如投资的年利率为 5%,试求从 1000 块增长到 5000 块,需要花费多少年?

代码实现

/*
 * 假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年
 *
 * 1000 1000*1.05
 * 1050 1050*1.05
 */

//定义一个变量,表示当前的钱数
var money = 1000;

//定义一个计数器
var count = 0;

//定义一个while循环来计算每年的钱数
while (money < 5000) {
    money *= 1.05;

    //使count自增
    count++;
}

console.log(money);
console.log("一共需要" + count + "年");

打印结果:

    5003.18854203379

    一共需要33年
文档更新时间: 2021-10-08 10:50   作者:张老师