js循环语句与循环嵌套

循环辅助语句

break 跳出所在的switck或循环结构

var n = Number(prompt(""));
var m =Math.ceil(Math.sqrt(n));//根据数学相关的定理,判断范围可缩小至[2,sqrp(n)]
var found = false;//找到因子的标记
for(vari=2; i<=m;i++){
    if(n%i == 0){
        found= true;
        break;//找到则提前结束
   
}
}
alert(found?"不是素数":"是素数");

案例:对100以内即不是3的倍数也不是5的倍数的数求和

第一种思路:对满足条件的数累加

var n = Number(prompt(""));
var m =Math.ceil(Math.sqrt(n));//根据数学相关的定理,判断范围可缩小至[2,sqrp(n)]
var found = false;//找到因子的标记
for(vari=2; i<=m;i++){
    if(n%i == 0){
        found= true;
        break;//找到则提前结束
   
}
}
alert(found?"不是素数":"是素数");

continue:结束本次循环,开启下一次循环

另一种不满足条件的就放过

var sum=0;
 for(var n=1;n<=100;n++) {
 if (n%3==0 || n%5==0) {
      continue; //结束本次循环
  
}//skip跳跃
 
}
 alert(sum)

第二种思路的好出是:结构清晰

也就是我们在进行数据处理之前,先把各种不符合打条件的情况排除了,然后再处理符合条件的情况(这个是程序的主体)

如果循环主体代码的执行有两个条件常规思路是这么写的,循环体主体代码较多,该程序的可读性较差。

换另一个思路来描述,是这样的

for(…….){

   if(!条件1){

      alert(”错误提示1”);

     continue;

}

   if(!条件2){

      alert(”错误提示1”);

      continue;

}                             

循环体主体代码

}    

 

 

循环嵌套

为什么有循环的嵌套:

因为一件事情的内容需要重复去做,而且这个事情要反复做

什么时候用循环的嵌套:

两者没有制约关系:

两者有制约关系:

一般有行数有列数并且两者之间存在关系的时候用循环嵌套

比如直角三角形:

for(var i=1; i<10; i++){
    for(var j=0; j<i; j++){
        document.write("*");
    }
    document.write("
"
);
}

 

 

 

 等腰三角形的输出

    var num =10;
      //每一行的空格数为总行数减去当前是第几行
      //
每一行的星星个数为当前*2-1
      //
循环条件行数小于等于10
      
for(vari=1;i<=num; i++){
         for(var j=num-i;j>0;j--){
             document.write("_");
         }
           for(var k=1; k<=i*2-1; k++){
               document.write("*");
           }
      document.write("
"
);
}

你可能感兴趣的:(js循环语句与循环嵌套)