循环语句
含义:根据给出的某一些条件 重复执行某一段代码
while 循环
含义:不管什么循环都必须有以下几个内容组成
- 初始化
- 条件判断
- 要执行的代码
- 自身的改变
注意:如果第四部如果不写,那么这个循环就是一个死循环。
// 1. 初始化
var num = 1
// 2. 条件判断
while (num < 5) {
// 3. 要执行的代码 (这里的代码数量不限制)
console.log(num)
// 4. 自身的改变
num++
}
-
初始化
var num =1 num===1
-
循环开始执行
- 判断条件是否满足 num<5 条件满足,开始执行第一轮循环 循环内的代码
console.log(num) //当前的num的值还是1但是下一次使用num的时候就是2了
num++ //1
//循环内的代码执行完毕,第一轮循环到此结束
JS小案例
计算1~100所有数字相加的和
1+2+3+...+99+100===???
逻辑:
- 利用循环拿到1~100的所有数字
- 想办法保存所有数字相加的和
//先设置初始条件
var num=1
var num=0
//用while进行条件判断,设置num<=100的原因是因为拿到1~100的数字,
while(num<=100){
//想办法保存所有数字相加的和
sum=num+sum
num++
}console.log(num)//打印出结果
do...while循环
-
while(条件){ 条件成立循环执行的代码}
-
do {要循环执行的代码}while(条件)
- 区别:
- while:会先判断条件,如果条件成立那么立即开始执行循环
- do...while:不管条件是否成立,先执行一次循环的代码,然后判断条件是否成立,决定是否开启下一轮循环
//1.初始化
var num =10086
do{ //3循环要执行的代码
console.log(num)
4.改变自身条件
num++
}while(num<5)//2.判断条件
JS小案例
1.打开页面的时候弹出一个输入框,让用户输入密码,密码为‘123456’,如果输入正确,那么控制台打印登陆成功,如果输入错误,重新弹出一个输入框,让用户重新输入,知道输入正确为止
do{
var num ='123456'
if(num==='123456'){
console.log("登陆成功")
break}
}while(num!=="123456")
- 打印出 1000~5000, 内的所有 闰年, 否则不打印
//定义初始值
var num = 1000
while(num<=5000){
if(num%4===0 &&num%100!==0 ||num%400===0){
console.log("登陆成功")
}num++//自身改变
}
for循环
for(1.初始化 2.判断条件 4.改变自身){ 3.循环要执行的代码}
js练习
1.求1~100s所有数字相乘
var sum = 1
for(var num=1;num<=100;num++){
sum=sum*num
}console.log(sum)
- 判断这个数字是不是闰年
for(var num=2000;num=3000;num++){
if(num%4===0&&num%100!==0||num%400===0){
console.log(num)
水仙花
1.有一个三位数每个位置上的三次方之和 正好等于自身 帮我找出 所有的水仙花数
逻辑:
找到所有的 三位数 (100~999)
找到某一个三位数的各个位置的值
计算三个位置上各个数字的三次方之和
对比 是否等于自身
for(var num = 100;num<=1000;num++){
var g =num%10
var s =paeseInt(num/10)%10
var b =parseInt(num/100)
var sum = g*g*g+s*s*s+b*b*b
if(sum===num){
console.log(sum)
}
}