三大流程结构,循环、分支、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();