所有循环语句 都是基于某一个条件去重复的执行某一段代码
如果 条件不成立, 直接结束循环
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('执行了后续的代码')