JavaScript - 循环结构

你好,未来的编程巨星们!今天,我们将深入探索JavaScript的while循环世界。作为你友好的人工智能编程老师,我将通过大量的示例和解释来引导你完成这次旅程。所以,背上你的虚拟背包,让我们一起踏上这次循环冒险之旅!

JavaScript - While Loop

JavaScript while循环

while循环就像一个坚持不懈的朋友,会不断地问:“我们到了吗?”直到你最终到达目的地。它是编程中的基本工具,允许我们在指定的条件为真时重复执行一段代码。

基本语法

下面是while循环最简单的形式:

while (condition) {
// 要执行的代码
}

让我们分解一下:

  • while关键字告诉JavaScript我们想要开始一个while循环。
  • condition是一个布尔表达式,在每次循环迭代之前都会被评估。
  • 如果条件为真,花括号{}内的代码将被执行。
  • 这个过程会重复,直到条件变为假。

示例 1:计数到 5

让我们从一个简单的示例开始:

let count = 1;

while (count <= 5) {
console.log("计数是:" + count);
count++;
}

在这个示例中:

  1. 我们用一个值1初始化变量count
  2. while循环会继续,直到count小于或等于5。
  3. 在循环内,我们将当前的计数输出到控制台。
  4. 我们使用++操作符将count增加1。
  5. 循环重复步骤3-4,直到count变为6,此时条件变为假,循环结束。

输出:

计数是:1
计数是:2
计数是:3
计数是:4
计数是:5

示例 2:求和

让我们尝试一些更实用的东西。我们将使用while循环来计算从1到10的数字之和:

let sum = 0;
let number = 1;

while (number <= 10) {
sum += number;
number++;
}

console.log("从1到10的数字之和是:" + sum);

在这个示例中:

  1. 我们将sum初始化为0,number初始化为1。
  2. 循环会继续,直到number小于或等于10。
  3. 在每次迭代中,我们将当前的number加到sum上。
  4. 我们将number增加1。
  5. 循环结束后,我们输出最终的求和结果。

输出:

从1到10的数字之和是:55

JavaScript do...while循环

现在,让我们来认识一下do...while循环——这是while循环的稍微乐观一点的表亲。它就像说:“至少让我们做一次,然后我们再看是否想继续。”

基本语法

下面是do...while循环的结构:

do {
// 要执行的代码
} while (condition);

这里的关键区别在于,代码块会在条件检查之前至少执行一次。

示例 3:猜数字游戏

让我们使用do...while循环创建一个简单的猜数字游戏:

let secretNumber = 7;
let guess;

do {
guess = prompt("猜测一个1到10之间的数字:");
guess = Number(guess);

if (guess === secretNumber) {
console.log("恭喜你!你猜对了!");
} else if (guess < secretNumber) {
console.log("太低了!再试一次。");
} else {
console.log("太高了!再试一次。");
}
} while (guess !== secretNumber);

在这个示例中:

  1. 我们设置了一个secretNumber并初始化guess
  2. 循环提示用户猜测一个数字并将其转换为数字类型。
  3. 我们检查猜测是否正确、太低还是太高,并提供反馈。
  4. 当猜测不等于秘密数字时,循环继续。
  5. 即使用户第一次就猜对了,循环体至少也会执行一次。

JavaScript while循环与for循环

既然我们已经探讨了while循环,你可能会有疑问:“我应该什么时候使用while循环而不是for循环?”这是个好问题!让我们来比较一下。

何时使用while循环

while循环通常在以下情况下使用:

  1. 当你事先不知道循环应该运行多少次时。
  2. 当循环的继续取决于在循环执行过程中可能发生变化的一个条件时。

何时使用for循环

for循环通常在以下情况下首选:

  1. 当你知道循环应该准确运行多少次时。
  2. 当你在遍历一个已知长度的序列(例如数组)时。

示例 4:找到大于1000的第一个2的幂

让我们使用while循环来找到大于1000的第一个2的幂:

let power = 0;
let result = 1;

while (result <= 1000) {
power++;
result = Math.pow(2, power);
}

console.log(`大于1000的第一个2的幂是 2^${power} = ${result}`);

在这种情况下,while循环非常合适,因为我们事先不知道需要多少次迭代。

方法表格

下面是一个总结我们所讨论方法的便捷表格:

循环类型 语法 用例
while while (condition) { ... } 当迭代次数未知时
do...while do { ... } while (condition); 当你想要至少执行一次循环时
for for (init; condition; update) { ... } 当迭代次数已知时

记住,选择正确的循环就像选择正确的工具来完成工作一样。随着实践,你将培养出在不同情况下最适合的循环的直觉。

就这样,我的编程学徒们!我们已经一起探讨了JavaScript中的while循环的来龙去脉。记住,循环就像是编程游乐场中的旋转木马——它们会一直旋转,直到停止的时候。继续练习,很快你将成为你编程宇宙中的循环大师!

Credits: Image by storyset