JavaScript 基础
深入数据和类型
函数进阶
运算符
浏览器存储
Document
Web API
事件
工具与规范
实例
练习
for 语句
for
循环同样能实现一个循环,相对 while
循环略微复杂,灵活性也更高。
语法如下:
for (begin; condition; step) {
// code
}
- begin:开始时执行。
- condition:每轮循环前判断,
true
则执行代码,false
结束循环。 - step:每轮循环后执行。
下面来看一个简单的例子。
$$jsdemo$$
$$edit$$
for (let i = 0; i < 3; i++) {
alert(i)
}
- 在开始时赋值变量 i = 0。
- 每轮循环前判断 i 是否小于 3,如果成立执行 alert(i),否则结束循环。
- 每轮循环结束执行 i++。
以上代码可以用我们已经学过的 while
循环来改写。
$$jsdemo$$
$$edit$$
let i = 0
while (i < 3) {
console.log(i)
i++
}
绝大部分 while
都有控制变量定义(let i = 0)、条件判断(i < 3)、控制变量改变(i++)这三部分。因此 for
循环的表达式就是将这三部分组合到了一行代码中, for (let i = 0; i < 3; i++)
。
实例
以下代码实现了打印从 1 至 10 之间的偶数。
$$jsdemo$$
$$edit$$
for (let i = 1; i <= 10; i++) {
if (i % 2 == 0) {
console.log(i)
}
}
结束或跳过循环
break
与 continue
同样可以在 for
循环内部中起作用。
$$jsdemo$$
$$edit$$
for (let i = 0; i < 10; i++) {
if (i == 3) {
// 当 i 等于 3 时跳过此轮循环
continue
} else if (i == 6) {
// 当 i 等于 6 时结束循环
break
}
console.log(i)
}
省略语句段
for
循环中的语句段是可以被省略的。
$$jsdemo$$
$$edit$$
let i = 0
// 省略 begin 代码段
for (; i < 5; i++) {
console.log(i)
}
$$jsdemo$$
$$edit$$
let i = 0
// 省略 begin 代码段
for (; i < 5;) {
console.log(i)
i++
}
当然也可以将 for
循环省略成 for(;;){...}
,它与 while(true)
是等价的。
for in 语句
for in
语句可以作用于一个数组,循环数组长度的次数,每轮循环都会得到一个下标,语法如下:
for (let index in array) {
// code
}
- index:每轮循环的下标。
- array:循环的数组。
以下是一个小例子:
$$jsdemo$$
$$edit$$
let names = ["鸣人", "柯南", "路飞"]
for (let i in names) {
console.log(i) // 打印下标
console.log(names[i]) // 打印数组中的元素
}
for of 语句
for of
语句与 for in
类似,同样是作用于数组,不过每轮得到的直接就是列表项,语法如下:
for (let item in array) {
// code
}
- item:每轮循环的列表项。
- array:循环的数组。
以下是一个小例子:
$$jsdemo$$
$$edit$$
let names = ["鸣人", "柯南", "路飞"]
for (let name of names) {
console.log(name)
}
练习
- 假如有一个包含着一些数字的数组,求出数组中的最大值和最小值。
- 用
for
循环打印出 a、b(由用户输入)之间的所有质数。