while与do while也是我们项目上会使用到的语句,都是循环,但是有区别,下面就说说两者的区别
1 while
while 是先检测退出条件,再执行循环体内的代码,即如果不满足条件,一次也不会执行。格式:
代码语言:javascript复制while (条件表达式) {
循环体
}
例子:
代码语言:javascript复制let i = 1
while (i == 10) {
console.log(i)
}
i不等于10,条件是false,因此一次也不会执行。
代码语言:javascript复制let i = 1
while (i <= 10) {
console.log(i)
}
i小于等于10,条件永远是true,所以这个会一直执行( 死循环)
代码语言:javascript复制let i = 1
while (i <= 10) {
console.log(i)
i
}
循环一次,i 1,当i=11时,此时条件也不满足了,所以就会终止循环。
2 do while
do whild 是先执行一次,之后在判断条件是否满足,换句话说就是始终会执行一次。
代码语言:javascript复制do {
循环体
} while (条件表达式)
例子:
代码语言:javascript复制let i = 1
do {
console.log(i)
} while (i == 10)
先执行console.log,在判断条件是否满足,因此,会执行一次。
代码语言:javascript复制let i = 1
do {
console.log(i)
} while (i <= 10)
条件始终是true,所以会一直执行。
代码语言:javascript复制let i = 1
do {
console.log(i)
i
} while (i <= 10)
console.log(i)
执行一次,i 1,当i=11时,条件不满足,退出循环。
3 总结
while 循环,当条件成立,则执行,当条件不成立,则一次也不会执行;do while 循环,在检查条件是否为真之前,该循环会执行一次,即无论条件是否为真,都会至少执行一次。