关于Switch结构利用
三大流程结构,循环、分支、if ,循环与条件选择结构用的比较多,而swicth用的比较少,swicth可以用if代替,只不过麻烦,最终都能实现输入和输出的条件对应
Swicth利用
1.通常swicth使用的情况
switch(n){ case 1: 执行语句; break; case 2: 执行语句 . . . break; default: 执行语句; }
2.由于swicth语句 先n匹配case后面的值,匹配成功后,从对应的执行语句处开始执行,按顺序向下执行,直到遇到break或者swicth的结束},以前学c语音时候只是在做题目时候防着它的这个特点,一旦漏写break,运行结果天壤之别.以前思维局限了,其实利用它可以归纳选择那些不同输入相同输出的情况,例如下面这个demo:判断某个日期是这一年的多少天,相比用if写,结构清晰,代码更加简单.
function calDate(){ var year=Number(prompt("输入年")); var month=Number(prompt("输入月")); var day=Number(prompt("输入day")); var sum=0,j,k; isRun=(year%4==0&&year%100!=0)||(year%400==0);//判断闰年 if(isRun) { k=29; } else { k=28; } for(var i=month-1;i>0;i--) { switch(i){ case 1:case 3:case 5:case 7:case 8:case 10: //归纳31天的月 j=31; break; case 2: j=k; break; case 4:case 6:case 11:case 9: j=30; break; default: 输入有误; } sum+=j; } sum+=day; alert("第"+year+"年"+m+"天"); } calDate();