一、满足条件
while 循环
// 10的阶乘,10*9*8*7*6*5*4*3*2*1
var total=1;
var n=10;
while(n>=1){
console.log(n,'打印的值');
total*=n;
n--;
}
console.log(total,'total')
do~while循环
// 10的阶乘,10*9*8*7*6*5*4*3*2*1
var total=1;
var n=10;
do{
console.log(n,'打印的值');
total*=n;
n--;
}while(n>=1)
console.log(total,'total')
结果:
二、不满足条件(while一次都不执行,do~while最少执行一次)
var n=10;
while(n<3){
console.log('不满足条件就一次也不走这里')
n++;
}
console.log('while不满条件就执行这里');
结果:
var n=10;
do{
console.log(n,'不满足条件也会执行一次,判断条件在后');
n++;
}while(n<3)
console.log('do~while不满条件就执行这里');
结果:
总结:
1:当声明的条件(var n=0;)满足声明的条件(n<3)时,while与do~while循环的结果一样
2:当声明的条件(var n=10;)不满足声明的条件(n<3)时,while一次都不执行do~while会执行一次
案例:满足条件才关闭弹框,不满足就一直弹框
do{
var result=prompt('认真生活好不好!');
}while(result!=='好')
alert('好');//如果满足条件则走这里
输入的值不为‘好’的时候一直出现弹框
输入的值为‘好’的时候弹出‘好’
for循环(在1~100之间输出20的倍数)
// i=1定义的初始变量
//i<=100条件判断
// i++改变初始值
//if(i%20==0){console.log(i,'输出20的倍数');}满足条件时会重复执行的代码
for(i=1;i<=100;i++){
if(i%20==0){console.log(i,'输出20的倍数');}
}
结果:
for循环打印图形
//用*输出正方形
for(j=1;j<=6;j++){
for(i=1;i<=9;i++){
document.write('* ')
}//打印一行,一行9个*
document.write('</br>');//打印完一行则执行一次换行
}//执行6次,也就是6行*
结果:
//用*输出正方形
for(j=1;j<=6;j++){
for(i=1;i<=j;i++){
document.write('* ')
}//打印一行,一行9个*
document.write('</br>');//打印完一行则执行一次换行
}//执行6次,也就是6行*
结果: