循环语句

循环语句用于重复执行一段代码,直到满足某个条件。

遍历一个数组

for-of 循环用于遍历一个可迭代对象(比如数组),并对其中的每个元素执行一次代码。
格式为:for (var 变量 of 数组) { 代码 }
为玩家增加“奖励列表”数组中所含有的物品:
var 奖励列表 = ['剑', '盾', '弓', '箭']
var 临时文本 = '你可以选择这些物品:'
for (const 物品名称 of 奖励列表) {
  //花括号里面的代码会执行4次,『物品名称』的值会依次变为'剑'、'盾'、'弓'、'箭'。
  物品[物品名称] = 物品[物品名称] + 1
}
通过上面的代码,玩家增加了剑、盾、弓、箭这四种物品。
上述代码中,物品名称变量在每次循环中会被赋值为数组中的一个元素,并执行一次花括号中的命令。

循环特定次数

for 循环用于重复执行一段代码,通常用于已知重复次数的情况。
格式为:for (初始值; 条件; 更新语句) { 代码 }
执行 5 次代码:
var 临时文本 = '报数:'
for (let i = 0; i < 5; i++) {
  临时文本 += i + ' '
}
// 运行完后,临时文本是 '报数:0 1 2 3 4 '
上述代码中,i变量的初始值为 0,每次循环执行 i++,循环条件是 i < 5,当 i 的值等于或大于 5 时,循环停止。

一直循环,直到满足条件为止

while 循环用于重复执行一段代码,直到满足某个条件。
格式为:while (条件) { 代码 }
当金钱大于等于 1000 时,减少 100 金钱,直到金钱小于 1000 为止:
while (物品.金钱 >= 1000) {
    物品.金钱 = 物品.金钱 - 100;
}
while 循环会先检查金钱是否大于等于 1000,如果是,就执行减少 100 金钱,并继续检查和循环。如果不是,就结束循环。

控制循环的执行流程

在循环语句中,可以使用 break 语句和 continue 语句来控制循环的执行流程。
break 语句用于立即停止循环,跳出循环语句。
当找到第一个小于 0 的元素时,记录该元素的位置并停止循环:
var 数组 = [1, 2, -3, 3, -1, 5]
var 位置 = -1
for (let i = 0; i < 数组.length; i++) {
  if (数组[i] < 0) {
    位置 = i
    break
  }
}
// 运行完后,变量“位置”的值为 2
continue 语句用于立即结束本次循环,继续执行下一次循环。
遍历数组中的每个元素,记录大于 0 的值:
var 数组 = [1, 2, -3, 3, -1, 5]
var 筛选数组 = []
for (const 元素 of 数组) {
  if (元素 < 0) {
    continue
  }
  筛选数组.push(元素)
}
// 运行完后,变量“筛选数组”的值为 [1, 2, 3, 5]
上述代码中,当遍历到值小于 0 的元素时,会立即结束本次循环,继续执行下一次循环。