目录
一前言
当执行某段代码需要满足一定的条件时,可以使用 while
循环。while
循环会在每次循环开始之前检查条件是否成立,只有在条件为真时才执行循环体中的代码。当条件不再满足时,循环终止。
适用场景
根据条件循环:当需要根据某个条件来决定是否继续执行循环体中的代码时,使用
while
循环是很方便的。例如,从用户输入读取数据直到满足某个条件,或者在某个条件下不断执行某个任务。处理未知的迭代次数:当需要处理未知的迭代次数时,
while
循环是一种合适的选择。例如,需要连续读取数据,直到到达文件的末尾或条件满足为止。条件先决循环:在某些情况下,循环体中的代码可能永远不会执行,如果在执行之前需要满足特定条件,可以使用
while
循环进行条件先决循环。
注意
使用
while
循环时,必须确保循环体内的代码能够改变循环条件,否则可能会导致无限循环。为了防止无限循环,通常会在循环体中使用一些逻辑或语句来改变循环条件,以使其在某个时刻不再满足循环条件而终止循环。另外,使用
while
循环时还要注意处理好循环的边界条件,以避免出现无限循环或跳过某些操作的问题。确保在循环体内适时地更新循环条件,以及需要在循环体外定义和初始化循环条件的变量。
二.while循环
1.while循环
while(循环条件){
循环体
}
当满足循环条件的时候进入循环体,当不满足循环条件的时候,跳出循环,循环结束。
例:
let i = 1
while (i<=10) {
document.write('睡觉'+i+'<br>')
i++
}
//此刻i=11 只是没有进入到循环体
document.write('困😴😴😴😴'+i+'<br>')
2.do-while循环
do{
循环体
}while(循环条件)
do-while 和while的区别
do 首先执行一次循环体中的代码,然后在判断是否满足循环条件,如果满足则执行循环体,否则跳出循环
do-while 要比 while多执行一次循环体代码
while (false) {
document.write('言寡有幸挂会<br>')
}
do{
document.write('言寡有幸挂会<br>')
}while (false);
案例:
辗转相除法,求最大公约数
补充
辗转相除法:大数除以小数,然后以除数和余数反复做除法运算,当余数为0时,取当前算式除数为最大公约数
完整代码
//辗转相除法,求最大公约数
//大数除以小数,然后以除数和余数反复做除法运算,当余数为0时,取当前算式除数为最大公约数
let a = 99
let b = 54
let max = a>b? a:b
let min = a>b? b:a
let yu = max%min //余数
//设置一个公约数对象
let gy = 0
while (yu!=0) {
gy = min%yu
//为了使循环体中的代码循环,需要不断更改变量的值
min = yu
yu = gy
}
console.log(min);