JS选择结构
今天学习了JS选择结构的另两个知识点,if嵌套和switch语句。下面就这两个知识点,来一起了解下。
今天主要以案例为主,主要写了几个案例可供参考。
1、if语句嵌套
案例1
四则运算,利用if嵌套来完成
var ch = prompt("请输入运算符:");
var a = Number(prompt("请输入第一个数:"));
var b = Number(prompt("请输入第二个数:"));
var result;
if(ch == "-"){
result = a - b;
}else{
if(ch == "+"){
result = a + b;
}else{
if(ch == "*"){
result = a * b;
}else{
if(ch == "/"){
result = a/b;
}
}
}
}
alert(result);
案例1充分利用了if嵌套,在你输入运算符之后,它可以直接找到你输入的运算符来进行运算,之后输出结果。
案例2
用if语句判断坐什么交通工具回家
var price = prompt("机(火车)票价格:");
var myMoney = Number(price);
if(myprice > 800){
alert("可以做飞机!");
}else{
if(myprice > 300){
alert("可以做火车硬卧!");
}else{
alert("可以选择硬座!");
}
}
下面呢,就是运用switch语句来写的案例。
2、switch语句
switch语句的优点:①选择结构更加清晰,一目了然;②执行速度相对较快。
switch语句的执行逻辑:switch后面的小括号里面的变量与case后面的常量相对应的地方开始,一次执行指令,直到指令结束。
switch语句里面case的作用:不会参加运算,也不起判断作用,否则执行逻辑就解释不通了。其实case只是起到了标号(存储了指令的地址)的作用,只是执行的指令的入口。
break的作用:直接跳出选择结构,结束这一小节的程序,跳出
break在switch是起到一个辅助作用。并不属于switch语句。
上面案例1,写了一个四则运算,我们现在是把案例1改写,让它用switch语句来表达。
案例3
四则运算
var ch = prompt("请输入运算符:");
var a = Number(prompt("请输入第一个数:"));
var b = Number(prompt("请输入第二个数:"));
var result;
switch (ch){
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = a / b;
break;
}
alert(result);
这样看来,用switch语句来写,是不是方便很多,而且看着很好懂。
案例4
运用switch语句来把一年十二个月分为春夏秋冬四个季节
/*
* 把一年十二个月分为春夏秋冬
* */
var month = Number(prompt("请输入月份:"));
var season;
switch (month){
case 12:
case 1:
case 2:
season = "冬季";
break;
case 3:
case 4:
case 5:
season = "春季";
break;
case 6:
case 7:
case 8:
season = "夏季";
break;
case 9:
case 10:
case 11:
season = "秋季";
break;
}
alert(season);
在switch中,几个case是可以同时使用一条指令的,相邻的相同指令的,它是只写最后一条指令并用break结束选择结构。
案例5
考试分数的等级制
/*
* 积分制
* */
var score = Number(prompt("请输入你的分数:"));
var grade;
grade = Math.floor(score/10);
switch (grade){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
grade ='等级E';
break;
case 6:
grade ='等级D';
break;
case 7:
grade ='等级C';
break;
case 8:
grade ='等级B';
break;
case 9:
case 10:
grade ='等级A';
break;
}
alert(grade);
案例6
计算今天是一年中的第几天
var month= Number(prompt("请输入月份:"));
var day= Number(prompt("请输入日期:"));
var result= 0;
switch (month - 1){
case 11:
result += 30;
case 10:
result += 31;
case 9:
result += 30;
case 8:
result += 31;
case 7:
result += 31;
case 6:
result += 30;
case 5:
result += 31;
case 4:
result += 30;
case 3:
result += 31;
case 2:
result += 28;
case 1:
result += 31;
}
result =result + day;
alert(result);
</script>
案例7:
把上面案例6改写一下,因为2月是根据平闰年的不同,天数也会不同,所以再判断一下。
这样就可以计算年份是不是闰年,然后在判断天数。<script> /* * 计算今天是一年中的第几天 * */ var year = Number(prompt("今年是:")); var month = Number(prompt("请输入月份:")); var day = Number(prompt("请输入日期:")); var result = 0; switch (month - 1){ case 11: result += 30; case 10: result += 31; case 9: result += 30; case 8: result += 31; case 7: result += 31; case 6: result += 30; case 5: result += 31; case 4: result += 30; case 3: result += 31; case 2: if(year%400==0 || (year%4 == 0 && year%100 > 0)){ result += 29; }else{ result += 28; } case 1: result += 31; } result = result + day; alert(result); </script>
今天只是就这两个方面用案例来展示,希望可以帮助到别人。