Js分支结构 switch--case

Posted BadGirl_Xiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js分支结构 switch--case相关的知识,希望对你有一定的参考价值。

switch...case...多条分支,根据条件判断,选择执行

语法:
    switch(表达式){
        case 表达式1:
             代码段1;
break;
case 表达式n: 代码段n;
break;
     default:
默认执行代码;
}

运行机制:如果找到与表达式值匹配的case,不但执行当前case下的代码,而且之后所有代码都被触发!

break:退出当前结构;

 多个条件公用同一套执行逻辑时,不加break;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            //请输入分数:
            //如果score>=90  输出优秀
            //如果score>=80  输出优秀
            //如果score>=60  输出C
            //               否则   输出D
            var score = parseInt(prompt(("请输入分数")));
            switch(true){
                case score>=90:
                case score>=80:
                  console.log("优秀");
                break;
                case score>=60:
                    console.log("C");
                    break;
                default:
                    console.log("D");
                    break;
            }
        </script>
    </body>
</html>

以上switch...case实现方式,也可以使用if...else if...else方法实现,实现方式如下所示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            var score = parseInt(prompt(("请输入分数")));
            if(score>=90){
                console.log("A");
            }else if(score>=80){
                console.log("B");
            }else if(score>=60){
                console.log("C");
            }else{
                console.log("D");
            }
        </script>
    </body>
</html>

下方的例子需注意的是:

switch...case  是全等 ===  严格相等 不带自动类型转换

如果num===1, 执行

如果num===2, 执行

如果num===3, 执行

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            var num=parseInt(prompt("请选择服务种类"));
            switch(num){
                case 1:  //如果num===1
                    console.log("余额查询中");
                    break;
                case 2:  //如果num===2
                    console.log("取款进行中");
                    break;
                case 3:  //如果num===3
                    console.log("转账进行中");
                    break;
                default:
                    console.log("退出系统");
                    break;
            }
        </script>
    </body>
</html>
//修改:
如果去掉parseInt
case 中要加 引号 ‘‘
比如 case ‘1‘ :
    case ‘2‘ :

修改后的代码如下所示:

<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            var num=prompt("请选择服务种类");
            switch(num){
                case ‘1‘:  //如果num===1
                    console.log("余额查询中");
                    break;
                case ‘2‘:  //如果num===2
                    console.log("取款进行中");
                    break;
                case ‘3‘:  //如果num===3
                    console.log("转账进行中");
                    break;
                default:
                    console.log("退出系统");
                    break;
            }
        </script>
    </body>
</html>

 






以上是关于Js分支结构 switch--case的主要内容,如果未能解决你的问题,请参考以下文章

分支结构if

2-23分支语句(switch…case)及循环语句

js:流程控制(分支结构顺序结构循环结构)

js中switch/case分支的值可以是变量或表达式

分支结构实验

策略模式重构switch/case分支代码