12.22---01do...while 循环

107 阅读1分钟

所有循环语句 都是基于某一个条件去重复的执行某一段代码

如果 条件不成立, 直接结束循环

do...while 循环

是一个类似 while 的循环语句

while 循环在开始的时候, 会先判断条件是否成立 然后决定是否执行代码

do...while 循环在开始第一次的时候, 不会判断条件, 也就是说, 不管条件成功与失败, 第一次都会执行

    var num = 10
    while (num < 5) {
        console.log(num)
        num--
    }
/**
     *   第一次执行
     *          num === 10
     *          while 执行的条件是 num < 5
     *          目前 num 不小于 5   所以条件不成立, 那么循环立即停止, 不会执行
    */
    

do...while

    var num = 10
    do {
        // 要执行的代码
        console.log(num)
        num--
    } while (num < 5)
    /**
     *  do...while 循环的时候, 第一次的时候 不会管这个条件是否成立, 他一定会执行一次
     * 
     * 
     *      第一次执行  (忽略条件, 直接执行代码)
     *          num === 10
     * 
     *              因为第一次执行不需要判断条件, 所以直接执行代码
     *                  console.log(num)        ->      10
     *                  num--           后续使用 num 的时候, num 的值就已经发生变化了, 自减1
     *          判断条件: num < 5   才能进行下一轮循环
     *              此时 num 的值 是 10, 不满足条件, 所以循环到此结束
     *      
    */
    
    
    

课堂案例

需求: 用户输入密码, 密码正确, 正常向下执行, 密码错误, 让用户重新输入密码

流程: 用户打开页面, 输入一段密码 由程序检测, 如果密码正确, 那么继续向下执行 如果密码不正确, 那么让用户重新输入密码 约定, 密码为 '12345'

     var password;
    do {
        password = prompt('请输入您的密码')
    } while (password !== '12345')  // 如果 password !== '12345'    那么继续执行循环, 如果 密码正好是 '12345' 那么停止循环
    console.log('执行了后续的代码')