for循环
基本结构:
for(初始条件1;循环条件2;状态改变3){ 循环体4 }
运行流程:1-2-4-3-2-4
while循环
基本结构:
var i=0 //初始条件 1 while(i<5){ //循环条件 2 console.log(i); //循环体 3 ++i; //改变状态 4 }
运行流程:1-2-3-4-2-3-4
for循环与while循环区别:
for循环次数确定
while循环次数不确定
关键字:break 跳出循环和continue跳过本次循环(继续下次循环)
for (var i=0;i<5;++i){ if(i == 3){ break; //当i=3时,本循环结束 } alert(i) }
结果弹出:0、1、2
for (var i=0;i<5;++i){ if(i == 3){ continue; //当i=3时,本次循环结束 } alert(i) }
结果弹出:0、1、2、4、5
标记循环:
wbl:for(var i=0;i<10;i++){ for(var j=0 ; j<10; j++){ break wbl;//会把外层的for循环停掉 } }
当for循环嵌套时,内嵌的for循环中,如果有break,则只会停止本身for循环,不涉及外面的for循环
可对循环添加标记,在内嵌的for循环中的break加标记,便可停止外部循环。
do while循环语句:
var i=0 //初始条件 do{ 执行语句; ++i; }while(判断);
先执行一次语句,再改变状态,再判定
switch语句 匹配语句
表达式:
switch(表达式){ case “值”: break; case “值”: break; default: break; }
switch中的表达式,与case的值匹配,值相同匹配成功,执行该case下的语句
如果所有case都没有匹配成功,执行default。
例:
var day=1; switch(day){ case 1: alert(1); break; case 2: alert(2); break; case 3: alert(3); break; default: //没有匹配到执行default alert("没有匹配到"); break; }
break 是退出switch匹配
如果匹配成功的case下没有break,继续向下执行case,直到有break(会执行遇到的所有指令)
如果整个下面都没有,运行至switch结束。
for循环练习:
1、100以内所有数的和
var sum=0; for(var i=0;i<=100;++i){ sum=sum+i; } console.log(sum);
2、100以内与7相关的数
for (var i = 0; i <= 99; ++i) { var a = i % 10; var b = parseInt(i / 10); if (a === 7 || b === 7) { console.log(i); } }
3、100元购物卡,牙刷5元,香皂2元、洗发水15元 100元正好花完有多少种可能?
var x = 0; for (var a = 0; a <= 50; ++a) { for (var b = 0; b <= 50; ++b) { for (var c = 0; c <= 50; ++c) { var sum1 = 5 * a; var sum2 = 2 * b; var sum3 = 15 * c; if (sum1 + sum2 + sum3 == 100) { console.log(a,b,c); x++; } } } } alert(x);