js基础之循环
咱们先来讲个故事:如果一个水龙头坏了,我们需要更换这个水龙头,我们需要做什么?首先,我们需要把坏掉的水龙头拧下来,需要拧多少下呢?要水龙头没掉下来就一下一下的拧,直达拧下来为止。然后,再把新的水龙头换上去,这个时候也需要拧紧它,需要拧多少下呢?只要水龙头没拧紧就一下一下的拧,直到拧紧了为止。
在这个过程中,一下一下拧水龙头就是重复的操作,重复的操作就是循环。
一、while循环
// while(判断条件){条件成立时反复执行的代码}
// 没有退出条件的循环叫死循环
while (true) {
console.log("hello")
}
// eg:打印100以内的所有奇数
var n = 1
while (n <= 100) {
//寻找奇数
if (n % 2) {
console.log(n)
}
n++
}
// 初始条件不满足,没有入口,循环一次都不执行
var n = 0
while (n < -10) {
n--
console.log(n)
}
// do...while 至少执行一次
do {
// 先执行一次,再去判断条件,条成立的话再继续反复执行,直到不成立为止
} while (判断条件)
二、continue和break
continue :跳出本次循环,继续下一次循环。break:跳出循环体,整个循环结束
// 打印1-50的所有不是9的倍数的偶数
var n = 0
while (n < 50) {
n++
if (n % 9 === 0) {
// 跳出本次循环
continue
}
if (n % 2 === 0) {
console.log(n)
}
}
// 打印1-50所有偶数,如果遇到9的倍数结束
var n = 1
while(n <= 50) {
if (n % 2 === 0) {
console.log(n)
}
if (n % 9 === 0) {
// 终止循环
break
}
n++ // 步进
}
三、for循环
/* for(初始值;循环条件;步进){
条件成立时反复执行的代码
} */
//打印1-10
for(var i = 1; i <= 10; i++){
console.log(i)
}
三种循环的联系和区别:
- 都是会反复执行的代码块
- 大部分情况下可以互相替换
- do…while至少执行一次,while和for有可能0次,while不太能确定执行次数,for可以