JS day04(5.11) 循环结构-2

循环:一遍又一遍执行相同或者相似的代码

循环的两个要素

循环条件:控制循环是否继续执行

循环体:要重复执行的代码

一.while循环

  

while(循环条件){

  循环体

}

二.break

 在循环体中使用,用于强制结束循环

 练习:当循环条件为true的情况下,计算出8的阶乘

   阶乘:从一个数字开始一直乘以到1

   8!=8*7*6*5*4*3*2*1

循环打印1~10之间所有的整数,通过循环体控制循环结束练习:当循环条件为ture的情况下,计算出8的阶乘
var i=1
while(true){
    console.log(i)
    //当i为10的时候,结束循环
    if(i==10){
        break   //跳出循环
    }
    i++
}
var n=8,m=1
while(true){
     m*=n 
    if(n===1){
        break
    }
    n--
}
 console.log(m) 

三.do-while循环

  

do{

  循环体

}while(循环条件)

假设有一张纸,厚度为0.0001米,折叠多少次能达到珠穆朗玛峰(8848米)的高度
var h=0.0001
var time=0    //声明变量,保存折叠的次数
do{
    time++     //循环体:折叠一次,数量加一
    h*=2       //增量:纸张的折叠,厚度是原来的2倍
    console.log(h)
}while(h<8848)     //循环条件:如果纸张厚度没有达到8848米
console.log(time) //循环结束后,打印最终的次数

四.for循环

for(初始值;循环条件;增量){

  循环体

}

五.对比continue和break

  两者都是用于循环体

  continue:跳过剩余的循环体,还会继续往后执行

  break:强制结束循环,不再执行任何循环的代码

循环打印1~10的所有整数,不包括6  练习:打印输出1~100之间所有整数,不包含能被3或者4整除的数字
for(var i=1;i<=10;i++){
    //判断i是否为6
    if(i===6){
               continue   //跳过剩余的循环体
    }
    console.log(i)
}
for(var i=1;i<=100;i++){
    if(i%3===0 || i%4===0){
    continue
    }console.log(i)
}

六.循环嵌套

  多个循环的组合,在一个循环体的内部,又出现的其它的循环

  任意两种循环之间都可以相互嵌套

*****

练习:循环5次,每次循环产生一个*,打印成一行(思路)
//1.声明一个变量str,用于保存拼接的字符串
for(var i=1,str='';i<=5;i++){
    //每次产生一个*,先进行拼接
    str+='*'  //str=str+'*'的简写
}
//循环结束后,拼接结束后,整体打印
//2.将代码循环5次
for(var j=1;j<=5;j++){
    console.log(str)
}
两段代码进行嵌套使用循环嵌套出*组成的直角三角形

//外层循环;控制循环的行数
for(var j=1;j<=20;j++){
    //内存循环;控制每一行拼接的*
    for(var i=1,str='';i<=20;i++){
    str+='*' 
}
    console.log(str)
}
 

//外层循环:控制循环的行数
for(var i=1;i<=5;i++){
    //内层循环:控制每一行拼接的*
    //1  *
    //2  **
    //3  ***
    //4  ****
    //5  *****
    //循环条件:是由所在的行i来决定
    //变量str写到内部循环表示每次拼接一行,都是从一个空字符串开始

    for(var j=1,str='';j<=i;j++){
    str+='*' }
    //每一行拼接结束,打印这一行拼接的*
    console.log(str)
}
使用循环嵌套打印九九乘法表
for(var y=1;y<=9;y++){           //外-行
    for(var x=1,str='';x<=y;x++){     //内-数量
    str+=x+'*'+y+'='+x*y+' '
    //如果是第三行,或是第四行,并且第2列,再多拼接空格
    if((y===3 || y===4) && x===2){
        str+=' '
        }
    }
    console.log(str)    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值