js基础者的天堂 ---- 初识循环语句

80 阅读1分钟

什么是循环语句? 帮助我们多次执行 某一个代码段

    // 需求: 在浏览器控制台 打印 5次 1
    console.log(1)
    console.log(1)
    console.log(1)
    console.log(1)
    console.log(1)
    // 新需求: 在浏览器 打印 50次 1
    // 针对新需求, 就可以使用 循环语句 完成

2. while 循环 : 基于某一个条件, 循环处理 某一段代码

    // 1. 初始化条件
    var num = 1;
    while (num < 6) {   // 2. 条件判断, 不符合时结束循环
        console.log(1)  // 3. 循环执行的代码
        num++   // 4. 改变自身, 如果不写, 死循环
    }
    /**
     * 第一次执行 num == 1
     *          符合 num < 5 执行代码: 打印1, num自增
     * 第二次执行 num == 2
     *          符合 num < 5 执行代码: 打印1, num自增
     * 第三次执行 num == 3
     *          符合 num < 5  执行代码: 打印1, num自增
     * 第四次执行 num == 4
     *          符合 num < 5  执行代码: 打印1, num自增
     * 第五次执行 num == 5
     *          不符合 num < 5 不执行代码, 且 停止 循环
    */

3. do...while 循环 : 语法: do {要循环执行的代码} while (条件)

     var num = 10
    do {
        console.log(1)
        num++
    } while (num < 6)
    /**
     * var num = 10
     * do {...} while (num < 6)
     * 
     *  首次执行
     *          1. 直接执行 {...} 代码, 所以会打印 1, num++
     *          2. 判断条件 num < 6 吗  此时 num 一定大于 6 ,所以条件为 false
     *                  条件 false 直接停止循环
    */

4. for 循环
JS 循环的一种语法
for (1. 声明变量(初始化条件); 2. 判断条件; 3. 改变自身;) {循环执行的代码}

 // 在浏览器控制台 输出 10次 1
    for (var i = 0; i < 10; i++) {
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
        console.log(1)
    }

5. 循环嵌套 : 两个循环叠在一起

  for (var i = 0; i < 3; i++) {   // 外层循环
        console.log('外层循环第', i, '次执行')
        for (var k = 0; k < 3; k++) {   // 内层循环
            console.log('内层循环循环: ', k)  // 0 --- 1 --- 2
        }
    }

    /**
     * 外层循环 执行 一次, 内层循环 就会 完整的 执行一次
     * 
     *  i == 0
     *      k --> 0 -- 1 -- 2
     *  i == 1
     *      k --> 0 -- 1 -- 2
     *  i == 2
     *      k --> 0 -- 1 -- 2
    */

    /**
     * i == 0
     *      执行内层循环
     *          打印k的值
     *              0 --> 1 --> 2
     * i == 1
     *      执行内层循环
     *          打印k的值
     *              0 --> 1 --> 2
     * i == 2
     *      执行内层循环
     *          打印k的值
     *              0 --> 1 --> 2
    */