js的switch

js的switch​swith语句:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;……default:语句体 n+1;break;}switch 语句的结束条件【非常重要】

大家好,欢迎来到IT知识分享网。js的switch"

 

        ​   swith语句:

        switch(表达式) {
        case 值1:
            语句体1;
            break;
    
        case 值2:
            语句体2;
            break;
    
        …
        …
    
        default:
            语句体 n+1;
            break;
        }

switch 语句的结束条件【非常重要】

    
        – 情况a:遇到break就结束,而不是遇到default就结束。(因为break在此处的作用就是退出switch语句)
        – 情况b:执行到程序的末尾就结束。

case穿透的问题

switch 语句中的`break`可以省略,但一般不建议(对于新手而言)。否则结果可能不是你想要的,会出现一个现象:case穿透。

例子
    
        
        var num = 4;
    
        //switch判断语句
        switch (num) {
            case 1:
                console.log("星期一");
                break;
            case 2:
                console.log("星期二");
                break;
            case 3:
                console.log("星期三");
                break;
            case 4:
                console.log("星期四");
            //break;
            case 5:
                console.log("星期五");
            //break;
            case 6:
                console.log("星期六");
                break;
            case 7:
                console.log("星期日");
                break;
            default:
                console.log("你输入的数据有误");
                break;
        }

case4和case5中没有break,语句执行到case6才终止
    
    另外,语句的结束与 default 的顺序无关。

       

switch 语句的实战举例:替换 if 语句

            实战开发中,经常需要根据接口的返回码 retCode 

let retCode = 1003; // 返回码 retCode 的值可能有很多种情况
    
                if (retCode == 0) {
                    alert('接口联调成功');
                } else if (retCode == 101) {
                    alert('活动不存在');
                } else if (retCode == 103) {
                    alert('活动未开始');
                } else if (retCode == 104) {
                    alert('活动已结束');
                } else if (retCode == 1001) {
                    alert('参数错误');
                } else if (retCode == 1002) {
                    alert('接口频率限制');
                } else if (retCode == 1003) {
                    alert('未登录');
                } else if (retCode == 1004) {
                    alert('(风控用户)提示 活动太火爆啦~军万马都在挤,请稍后再试');
                } else {
                    // 其他异常返回码
                    alert('系统君失联了,请稍候再试');
                }

修改

let retCode = 1003; // 返回码 retCode 的值可能有很多种情况
    
                switch (retCode) {
                    case 0:
                        alert('接口联调成功');
                        break;
                    case 101:
                        alert('活动不存在');
                        break;
    
                    case 103:
                        alert('活动未开始');
                        break;
    
                    case 104:
                        alert('活动已结束');
                        break;
    
                    case 1001:
                        alert('参数错误');
                        break;
    
                    case 1002:
                        alert('接口频率限制');
                        break;
    
                    case 1003:
                        alert('未登录');
                        break;
    
                    case 1004:
                        alert('(风控用户)提示 活动太火爆啦~军万马都在挤,请稍后再试');
                        break;
    
                    // 其他异常返回码
                    default:
                        alert('系统君失联了,请稍候再试');
                        break;
                }    

实战开发中,凡是有重复的地方,我们都必须要想办法简化。
let day = 2;

                switch (day) {
                    case 1:
                        console.log('work');
                        break;

                    case 2:
                        console.log('work');
                        break;

                    case 3:
                        console.log('work');
                        break;

                    case 4:
                        console.log('work');
                        break;

                    case 5:
                        console.log('work');
                        break;

                    case 6:
                        console.log('relax');
                        break;

                    case 7:
                        console.log('relax');
                        break;

                    default:
                        break;
                }

修改

let day = 2;

                switch (day) {
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                        console.log('work');
                        break; // 在这里放一个 break

                    case 6:
                    case 7:
                        console.log('relax');
                        break; // 在这里放一个 break

                    default:
                        break;
                }

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31203.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信