笔记三、JavaScript——循环语句

102 阅读3分钟

三、循环语句

什么是循环语句

  • 根据某些给出的条件,重复执行同一段代码
  • 循环必须要有某些固定的内容组成
* 初始化
* 条件判断
* 要执行的代码
* 自身改变
复制代码
复制代码

1. while 循环语句

  • 语法 while (条件) { 满足条件就会执行 }
  • 因为满足条件就执行, 所以我们写的时候一定要注意, 就是设定一个边界值, 不然就一直循环下去了, 简称: 死循环, 电脑卡死的时间根据电脑性能有所不同, 建议不要尝试
// 1. 初始化条件
var num = 0
// 条件判断
while (num < 10) {
    // 3. 要执行的代码
    console.log('当前 num 的值是: ', num)
    // 4. 自身改变
    num ++    // 如果没有这行代码, 那么自身就没有改变, 条件将会一直满足, 代码也就会一直执行
}
复制代码
复制代码

2. do...while 循环语句

  • 是一个和 while 循环类似的循环
  • while 会先进行条件判断, 满足就执行, 不满足就直接不执行了
  • do...while 的循环是 先不管条件, 先执行一次, 然后再开始进行条件判断
  • 语法: do { 要执行的代码 } while (条件)
// 1. 初始化
var num = 10;
do {
    // 3. 要执行的代码
    console.log('我执行了一次')
    // 4. 自身改变
    num += 1
// 2. 条件判断
} while (num < 10)
复制代码
复制代码

3. for 循环语句

  • 和 while do while 循环都不太一样的一种循环结构
  • 但道理是和其他两种一样的, 都是循环执行代码的
  • 语法: for (var i = 0; i < 10; i++) { 要执行的代码 }
// 把初始化, 条件判断, 自身改变, 都统一写在了一起
for (var i = 1; i <= 10; i++) {
    console.log(i)  // 会打印 1~10
}
// 初次使用时会觉得有一点繁琐与不习惯, 但是用起来比较好用
复制代码
复制代码

4. 流程控制语句

  1. break 关键字的应用

    • 在循环没有进行完毕的时候, 因为我设置的条件满足了, 就直接提前终止循环
    • 举个例子: 我要吃五个包子, 我吃了三个了, 这时候吃饱了吃不下去了, 我就停止了继续吃包子这件事
    • 那么此时要停止循环, 就可以直接使用 break 关键字
for (var i = 1; i <= 5; i++) {
    // 每循环一次,就吃一个包子
    console.log('我吃了一个包子')
    // 当 i == 3 的时候, 条件为 true, 执行了 {} 里面的代码终止循环, 循环就不会继续向下执行了, 也就没有 45 了
    if (i == 3) {
        break
    }
}
复制代码
复制代码
  1. continue 关键字的应用

    • 在循环中, 把循环的本次跳过去, 继续执行后续的循环
    • 举个例子: 还是吃五个包子, 要吃第三个的时候, 第三个掉地上了, 所以就不吃第三个了, 继续吃第四个和第五个
    • 跳过本次循环, 就可以使用 continue 关键字
for (var i = 1; i <= 5; i++) {
    // 当 i == 3 的时候, 执行 {} 里面的代码
    // {} 里面有 continue, 那么本次循环后面的代码就都不执行了
    // 自动算作 i 为 3 的这一次结束了, 去继续执行 i == 4 的那次循环
    if (i == 3) {
        console.log('这是第三个包子, 掉地下了, 我不吃了')
        continue
    }
    console.log('我吃了一个包子')
}

//结果:
// 2 我吃了一个包子
//第三个包子掉地上了, 我不吃这个包子了
// 2 我吃了一个包子
复制代码
复制代码

5.循环嵌套的书写

  • 循环嵌套其实就是一个循环内部又写了一个循环
for (var i = 0; i < 3; i++) {   // 这个循环称为 外层循环
    for (var k = 1; k < 4; k++) {   // 这个循环称为 内层循环
        /**
         * 重点!!!
         *          两个循环的循环变量不能相同, 会有冲突
        */
    }
}