1、双重循环
一个循环体内又包含另一个完整的循环结构,比如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| while(循环条件1){
while(循环条件2){
} }
for(循环条件1){
for(循环条件2){
} } while(循环条件1){
for(循环条件2){
} }
|
双重循环的使用
双重循环外层走一次,内层走一圈
注意:各循环可互相嵌套
一般不超过三层
外层循环变量变化一次,内层循环变量要变化一遍
双重循环九九乘法表实例:
1 2 3 4 5 6
| for(i=1;i< 10;i++){ for(j=1;j<=i;j++){ document.write(i+'*'+j+'='+(i*j)+' '); document.write('< br/>') } }
|
2、跳转break语句
break语句用于终止某个循环,使程序跳到循环块外的下一条语句
在循环中位于break后的语句将不再执行
break语句不仅可以用于在for循环中,也可以用在其他循环中
1 2 3 4 5 6 7 8 9 10
| while(...){ ... ... ... break; ... ... } }
|
break跳出实例:
1 2 3 4 5 6 7 8 9 10
|
for(i=1;i< 6;i++){ var cj=prompt('请输入成绩'); if(cj< 0){ document.write('第'+i+'个成绩是错的'); break; } document.write('第'+i+'个成绩是'+cj+'< br/>'); }
|
3、跳转continue
continue用于循环
continue语句只能用在循环结构中
continue退出本次循环,继续后边的循环
1 2 3 4 5 6 7 8 9 10
| while(...){ ... ... ... continue; ... ... } }
|
实例与break相似
双重循环实例1:使用双重循环在网页中输出矩形,等腰三角形
1 2 3 4 5 6 7
| for(i=1;i<=5;i++){ for(j=1;j<=5;j++){ document.write('*'); } document.write('< br/>'); }
|
1 2 3 4 5 6 7
| for(i=1;i<=5;i++){ for(j=1;j<=2*i-1;j++){ document.write('*'); } document.write('< br/>'); }
|
双重循环实例2:使用双重循环根据用户输入的数字,输出如下图形
1 2 3 4 5 6 7
| var sz=prompt('输入数字'); for(i=1;i<=sz;i++){ for(j=1;j<=2*i-1;j++){ document.write(i); } document.write('< br/>'); }
|
break实例:循环录入JS课的学生成绩,统计分数大于等于80分的学生。如果成绩为负数,则提示并不再继续统计
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| var cj=prompt('输入班级总人数'); var num=0; var wg=true; for(i=1;i<=cj;i++){
var sr=prompt('输入成绩'); if(sr>=80){ num++; }else if(sr< 0){
wg=false; break; } } if(wg){ document.write('80分以上的人有'+num+'个'); }else{ document.write('成绩不能为负,终止输入'); }
|
continue实例:使用continue求1-10之间的所以偶数和
1 2 3 4 5 6 7 8
| var sum=0; for(i=1;i<=10;i++){ if(i%2==1){ continue; } sum+=i; } document.write('1-10之间的偶数和是'+sum);
|