循环语句
While循环
在满足条件期间, 重复执行某些代码
js
while (循环条件) {
循环体(要重复循环的代码)
}
跟If语句一样, 循环条件为true才会进入循环体执行代码
循环体执行完后, 不会立刻调出
而是回到循环体顶部, 再次判断循环条件
如果为true, 会继续执行循环体, 直到循环条件为false了, 才会跳出循环体
While循环三要素
循环的本质就是以某个变量为起始点, 然后不断产生变化量, 慢慢靠近终止条件的过程
所以, While循环需要具有如下三要素
- 变量起始值
- 终止条件(没有终止条件, 循环会一直执行, 造成死循环)
- 变量变化量(用自增或自减)
js
let i = 1
while (i <= 3) {
console.log(`这是我循环的第${i}遍`)
i++
}
// 这是我循环的第1遍
// 这是我循环的第2遍
// 这是我循环的第3遍
无限循环的写法
js
while (true)
警告
在使用无限循环时, 一定要在满足需求后跳出, 否则就成死循环了, 死循环会对性能造成严重影响, 严重的电脑会死机
For循环
重复执行代码
与While的好处:可以把声明起始值, 循环条件, 变化值写在一起
For循环是最常见的循环形式
js
for (变量起始值; 终止条件; 变量变化量) {
循环体(要重复循环的代码)
}
先写个例子:
js
for (let i = 1; i <= 3; i++) {
console.log(`这是我循环的第${i}遍`)
}
// 这是我循环的第1遍
// 这是我循环的第2遍
// 这是我循环的第3遍
执行原理与While一致, 但是变量起始值只会初始化一次
危险
无限循环的写法
js
for (;;)
在使用无限循环时, 一定要在满足需求后跳出, 否则就成死循环了, 死循环会对性能造成严重影响, 严重的电脑会死机
For循环嵌套
js
for (外部声明记录循环次数的变量; 循环条件; 变化值) {
for (内部声明记录循环次数的变量; 循环条件; 变化值) {
循环体
}
}
一个循环里在套一个循环, 一般用在for循环里
写个简单的例子, 输出24小时的每1分钟
js
for (let Hours = 0; Hours <= 24; Hours++) {
for (let Minutes = 0; Minutes <= 60; Minutes++) {
console.log(`${Hours} : ${Minutes}`)
}
}
// 0 : 0
// ...
// 24 : 60
首先最外层的循环会循环24次, 每次循环子循环会循环60次
每次子循环, 会输出父循环和子循环的循环次数
退出循环
退出循环一共有两个语句
break
:跳出循环(不在执行循环)
一般用于结果已经得到, 后续的循环不需要的时候使用
js
// 这个例子写了一个无限循环, 但是循环到第3遍时, 执行了break跳出了循环
// 如果不加break, 循环体会一直循环下去, 永不停止(死循环)
let i = 1
while (true) {
if (i === 3) {
console.log("退出循环")
break
}
console.log(`这是我循环的第${i}遍`)
i++
}
// 这是我死循环的第1遍
// 这是我死循环的第2遍
// 退出死循环
continue
:结束循环(结束本次循环, 直接执行下一次循环)
一般用于排除或者跳过某个选项的时候使用
js
// 这个例子写了一个循环, 当循环到第3遍时, 执行了continue退出了本次循环
let i = 1
while (i <= 5) {
if (i === 3) {
i++
console.log("退出本次循环")
continue
}
console.log(`这是我循环的第${i}遍`)
i++
}
// 这是我循环的第1遍
// 这是我循环的第2遍
// 退出本次循环
// 这是我循环的第4遍
// 这是我循环的第5遍