Skip to content

循环语句

While循环

满足条件期间, 重复执行某些代码

js
while (循环条件) {
    循环体(要重复循环的代码)
}

跟If语句一样, 循环条件为true才会进入循环体执行代码

循环体执行完后, 不会立刻调出

而是回到循环体顶部, 再次判断循环条件

如果为true, 会继续执行循环体, 直到循环条件为false了, 才会跳出循环体

While循环三要素

循环的本质就是以某个变量为起始点, 然后不断产生变化量, 慢慢靠近终止条件的过程

所以, While循环需要具有如下三要素

  1. 变量起始值
  2. 终止条件(没有终止条件, 循环会一直执行, 造成死循环)
  3. 变量变化量(用自增或自减)
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遍