javascript(四)多分支语句

多分支语句包含if条件判断和switch语句
if主要的作用在于进行条件比较判断,例如登录是否成功、用户是否存在等判断。
switch的主要作用在于数值匹配,当匹配成功后,执行后面的语句组。
if…else语句:
进行表达式判断,判断表达式是否成立成立时进行相关操作
格式1:
if (<表达式>)
<语句1>;
else
<语句2>;
格式2:
if (<表达式>){
<语句组1>
}else{
<语句组2>
}
格式3:
if (<表达式1>){
<语句组1>
}else if (<表达式2>){
<语句组2>
}else{
<语句组3>
}
说明:
当条件表达式为真,则执行if里面的代码体
else不是必须有的!
条件表达式中可以直接书写数值等操作,但不同数据代表不同,最后都会被转化为布尔值
switch
表达式与数值进行比较,匹配成功执行语句
语法:
switch (<表达式>) {
case <数值1>:<语句组1>
break;
case <数值2>:<语句组2>
break;

default : <语句组>
break;
}
注意:
每一个操作后面必须要有break;
switch与if的区别
1.switch 只能处理等值 但是 if既可以等值也可以区间
2.就处理等值情况来说,switch 的性能要比if的速度快

  • 练习1
    使用prompt方法,输入年龄
    要求:判断输入的年龄范围是多少
    小于15 在控制台输出提示禁止进入
    15~18 控制台输出“家长电话:0471-000000”
    大于18 控制台输出“个人联系:0471-000000”
<script type="text/javascript">
        var a=prompt("请输入年龄");
        //方法一 if  else
        if (a>=0 && a<=15) {
            console.log("禁止进入");
        }else if (a>15 && a<=18){
            console.log("家长电话:0471-0000000");
        }else if(a>=18 && a<100){
            console.log("个人电话:0471-0000000");
        }else{
            console.log("输入错误");
        }
        //方法二 switch
        switch(true){
            case a>=0 && a<=15:console.log("禁止进入");
            break;
            case a>15 && a<=18:console.log("家长电话:0471-0000000");
            break;
            case a>=18 && a<100:console.log("个人电话:0471-0000000");
            break;
            default:console.log("输入错误");
        }
    </script>
  • 练习2
    季节判断1、2、3为春季,4、5、6为夏季,7、8、9为秋季,10、11、12为冬季
<script type="text/javascript">
        var a=5;
        //if else
        if(a==1 || a==2 || a==3){
            document.write('春季');
        }else if (a==4 || a==5 || a==6){
            document.write('夏季');
        }else if (a==7 || a==8 || a==9) {
            document.write('秋季');
        }else if (a==10 || a==11 || a==12) {
            document.write('冬季');
        }else{
            alert("输入错误");
        }
       //switch case
       switch(a){
        case 1:case 2:case 3:
        document.write("春季");
        break;
        case 4:case 5:case 6:
        document.write("夏季");
        break;
        case 7:case 8:case 9:
        document.write("秋季");
        break;
        case 10:case 11:case 12:
        document.write("冬季");
        break;
        default:alert("输入错误");
        break;
       }
  </script>
  • 练习3
    判断闰年
<script type="text/javascript">
        var a=2016;
        //if else
        if (a>=0 && a%4==0) {
            document.write("闰年");
        }else{
            document.write("平年");
        }
        //switch case
        switch(true){
            case a>=0 && a%4==0:document.write("闰年");
            break;
            default:document.write("平年");
            break;
        }
 </script>
  • 练习四
    某书店搞打折促销活动,消费:
    0-100 (包含)元 不打折
    100-200 (包含)元 95折
    大于500元 7折
    输出“ 商品金额+打折折扣+折后金额”
<script type=text/javascript>
        var a=500;
        // 方法一 if  else;
        if (a>=0 && a<=100) {
            document.write(a+"&nbsp;不打折&nbsp;"+a);
        }else if (a>100 && a<=200) {
            document.write(a+"&nbsp;95折&nbsp;"+a*.95);
        }else if (a>200 && a<=500) {
            document.write(a+"&nbsp;8折&nbsp;"+a*.8);
        }else if (a>500) {
            document.write(a+"&nbsp;7折&nbsp;"+a*.7);
        }else{
            alert("输入不正确");
        }
       //方法二 switch case
       switch(true){
            case a>=0 && a<=100:document.write(a+"&nbsp;不打折&nbsp;"+a);
            break;
            case a>100 && a<=200:document.write(a+"&nbsp;95折&nbsp;"+a*.95);
            break;
            case a>200 && a<=500:document.write(a+"&nbsp;8折&nbsp;"+a*.8);
            break;
            case a>500:document.write(a+"&nbsp;7折&nbsp;"+a*.7);
            break;
            default:alert("输入不正确");
       }
      //方法三
      if (a>0){
          switch(true){
               case a>=0 && a<=100:document.write(a+"&nbsp;不打折&nbsp;"+a);
               break;
               case a>100 && a<=200:document.write(a+"&nbsp;95折&nbsp;"+a*.95);
               break;
               case a>200 && a<=500:document.write(a+"&nbsp;8折&nbsp;"+a*.8);
               break;
               case a>500:document.write(a+"&nbsp;7折&nbsp;"+a*.7);
               break;
               default:alert("输入不正确");
               break;
           }
        }else{
            alert("输入不正确");
        }
       //方法四
       switch(a>=0 && a<=100){
            case true:document.write(a+"&nbsp;不打折&nbsp;"+a);
            break;
       }
       switch(a>100 && a<=200){
            case true:document.write(a+"&nbsp;95折&nbsp;"+a*.95);
            break;
       }
       switch(a>200 && a<=500){
            case true:document.write(a+"&nbsp;8折&nbsp;"+a*.8);
            break;
       }
       switch(a>500){
            case true:document.write(a+"&nbsp;7折&nbsp;"+a*.7);
            break;
       }
  </script>

猜你喜欢

转载自blog.csdn.net/qq_38904347/article/details/82469030