分 享

【凤凰社】js中的循环

一、for循环

  1.单个for循环:

        for(初始值;条件;增量){
                    语句
         }

  • 初始值:无条件的Run第一个表达式
  • 条件:是判断是否可以Run循环体的条件
  • 增量:做增量的操作
    //循环输出1~100之间数字的和
    var sum=0;
    for(var i=1;i<=100;i++){
        sum= sum+i;        
    }
    document.write(sum);//5050
    //求1~100之间奇数的和
    var sum = 0;
    for (var i=1; i<=100; i++) {
        if(i%2 == 1){
           sum += i;
        }
    }
    console.log("1~100之间奇数的和为" + sum +"。");

  2.for循环嵌套:(外层循环一次,内层循环一轮)

  for(初始值;条件;增量){
    for(初始值;条件;增量){
      ...语句或继续嵌套
    }
   }

//输出一个3行30列的表格;表格内容1~30;
<table border='1' cellpadding="0" bgcolor="aqua" width='80%'>
            <script>
                for(var i=1;i<=3;i++){
                    document.write('<tr>');//
                        for(var j=1;j<=30;j++){
                            document.write('<td>'+j+'</td>');//
                        }
                    document.write('</tr>');
                }
            </script>
 </table>
//输出99乘法表
document.write('<table style="width: 80%; border: 1px solid #000;">')            
    for(var i=1; i<=9; i++){
        document.write("<tr>")
        for(var j=1; j<=i+1; j++) {
            document.write("<td>" + i +" x " + j + " = " + i*j + "</td>")
        }
        document.write("</tr>")
    }
document.write('</table>');
//输出倒置99乘法表
document.write('<table style="width: 80%; border: 1px solid #000;">')            
    for(var i=9; i>0; i--){
        document.write("<tr>")
        for(var j=1; j<=i; j++) {
            document.write("<td>" + i +" x " + j + " = " + i*j + "</td>")
        }
        document.write("</tr>")
    }
document.write('</table>');
//百钱买百🐔,公鸡5元每只,母鸡3元每只,小鸡3只1元,100元可以买100只鸡
            for(var i=0; i<=(100/5); i++){
                for(var m=0; m<=(100/3); m++){
                    var n = 100-i-m;
                    if((5*i+3*m+n/3 == 100) && (n%3 ==0)){
                        console.log("公鸡有"+i+"只,"+"母鸡有"+m+"只,"+"小鸡有"+n+"只。")
                    }
                }
            }
//-----------------------------------------or------------------------------------- for(var i=0;i<=20;i++){ for(var j=0;j<=33;j++){ for(var z=0;z<=100;z++){ if((i+j+z==100)&&(5*i+3*j+z/3==100)){ document.write('公鸡:'+i+'母鸡:'+j+'小鸡:'+z); } } } }

 

二、break和continue区别

 

  • break:

 

  1. 结束当前整个循环,Run当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。
  2. 只可以跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。

 

  • continue:

 

  1. 终止本次循环的Run,即跳过当前这次循环中continue语句后尚未Run的语句,接着进行下一次循环条件的判断。 
  2. 结束当前循环,进行下一次的循环判断。
  3. 终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件Run语句.他只可以结束循环中的一次过程,但不可以终止循环继续进行。
    i=1;
    while(i<=10){
    if(i==3){
        continue;//出现死循环,跳出当前循环后i=3;然后再进行判断,又跳出循环
        //break;
        i++;
    }
    document.write(i+'<br/>');
    i++;
    }//死循环

 

三、while循环

  1.while循环:

  • 先判断后Run

    while(条件){
      语句
    }

var i=1;
while(i<=10){
  document.write(i);//1~10
  i++;
}
document.write(i);//11

  2. do   while循环:

  • 先Run后判断(至少Run一次循环) 

    do{
      语句
    }while(条件);

do{
  document.write('hello meizi');//hello meizi
}while(false)

0 评论

回复