LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 258|回复: 0

Javascript “for” 循环

[复制链接]
发表于 2024-1-14 22:48:56 | 显示全部楼层 |阅读模式
for 循环更加复杂,但它是最常使用的循环形式。

for 循环看起来就像这样:

for (begin; condition; step) {
  // ……循环体……
}
我们通过示例来了解一下这三个部分的含义。下述循环从 i 等于 0 到 3(但不包括 3)运行 alert(i):

for (let i = 0; i < 3; i++) { // 结果为 0、1、2
  alert(i);
}
我们逐个部分分析 for 循环:

语句段               
begin        let i = 0        进入循环时执行一次。
condition        i < 3        在每次循环迭代之前检查,如果为 false,停止循环。
body(循环体)        alert(i)        条件为真时,重复运行。
step        i++        在每次循环体迭代后执行。
一般循环算法的工作原理如下:

开始运行
→ (如果 condition 成立 → 运行 body 然后运行 step)
→ (如果 condition 成立 → 运行 body 然后运行 step)
→ (如果 condition 成立 → 运行 body 然后运行 step)
→ ...
所以,begin 执行一次,然后进行迭代:每次检查 condition 后,执行 body 和 step。

如果你这是第一次接触循环,那么回到这个例子,在一张纸上重现它逐步运行的过程,可能会对你有所帮助。

以下是在这个示例中发生的事:

// for (let i = 0; i < 3; i++) alert(i)

// 开始
let i = 0
// 如果条件为真,运行下一步
if (i < 3) { alert(i); i++ }
// 如果条件为真,运行下一步
if (i < 3) { alert(i); i++ }
// 如果条件为真,运行下一步
if (i < 3) { alert(i); i++ }
// ……结束,因为现在 i == 3
内联变量声明
这里“计数”变量 i 是在循环中声明的。这叫做“内联”变量声明。这样的变量只在循环中可见。

for (let i = 0; i < 3; i++) {
  alert(i); // 0, 1, 2
}
alert(i); // 错误,没有这个变量。
除了定义一个变量,我们也可以使用现有的变量:

let i = 0;

for (i = 0; i < 3; i++) { // 使用现有的变量
  alert(i); // 0, 1, 2
}

alert(i); //3,可见,因为是在循环之外声明的

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表