红宝书之条件语句switch

多重判断的时候不适合使用if语句,因为会需要写很多层,性能也差。所以对于多层判断,有个专门的语句叫做switch。
switch语句的语法结构如下:

        // switch 判断语句
        switch( expression ){
            case value:statement  //如果这个值等于这个值,就走这里
            break;    // 执行完退出
            case value:statement
            break;
            case value:statement
            break;
            case value:statement
            break;
            ......
            default:statement   // 如果上面的都不对,就执行这个
        }

expression 是表达式,而不是判断条件,所以不能像if一样加符号。
来个小练习,判断并输出今天是星期几,用到的出了switch语句,还有获取星期和向页面输出这两个小知识点。
获取星期:new Date().getDay()
返回值是:number(0-6)
向浏览器输出内容(可以将内容显示在页面中):
document.write()

       let week = new Date().getDay()
       console.log(week)
        switch ( week ){
            case 0:
            document.write('今天是星期日')
            break;
            case 1:
            document.write('今天是星期一')
            break;
            case 2:
            document.write('今天是星期二')
            break;
            case 3:
            document.write('今天是星期三')
            break;
            case 4:
            document.write('今天是星期四')
            break;
            case 5:
            document.write('今天是星期五')
            break;
            default:
            document.write('今天是星期六')
        }

代码看上去很繁琐并且很多重复对不对?那我们就来优化一下吧。

  let week = new Date().getDay()
       let weekstr = "" 
       console.log(week)
        switch ( week ){
            case 0:
            weekstr = "日" 
            break;
            case 1:
            weekstr = "一" 
            break;
            case 2:
            weekstr = "二" 
            break;
            case 3:
            weekstr = "三" 
            break;
            case 4:
            weekstr = "四" 
            break;
            case 5:
            weekstr = "五" 
            break;
            default:
            weekstr = "六" 
        }
        document.write("今天是星期"+weekstr)

这样就简练多了。
再来一个小例子这个小例子有点特别的地方。
要求:
1.页面弹出输入框,让用户输入要查询的业务编号,
2.用switch语句写这段判断的代码,当用户输入数字1时,页面显示:账户余额为1;
3.当用户输入2时,页面显示:转账金额为2;
4.当用户输入3时,页面显示:信用额度为3;
5.当用户输入其他数字,页面显示:退出银行系统。
最好自己敲一下,然后再看我的代码,这样哪里有坑自己也好印象深刻,毕竟,不是自己踩得,终归记得不牢。

  let ye = prompt('请输入您要查询的业务编码')
    switch (ye){
        // 需要注意的是case '1'是字符串而不是数字。
        case '1':
            document.write("账户余额为1")
        break;
        case '2':
            document.write("转账金额为2")
        break;
        case '3':
            document.write("信用额度为3")
        break;
        default:
            document.write("退出银行系统")
    }

你可能感兴趣的:(红宝书之条件语句switch)