Switch...case语句加范围判断

5,424 阅读1分钟

Switch语法:

switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        默认代码块
} 

实例:

switch (new Date().getDay()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
} 

但是如果case判断的不是一个值,而是一个范围值呢?

其实也简单,语法就得变化一下,参数不能写在switch里面,而是定义在外面,如下

// 判断方位
var direction = 45;

switch (true) {
    case angle==0:
        direction = '正北'; break;

    case angle==90:
        direction = '正东'; break;

    case angle==180:
        direction = '正南'; break;

    case angle==270:
        direction = '正西'; break;
    
    case angle==360:
        direction = '正北'; break;

    case (angle>0 && angle<90):
        direction = '东北'; break;
    
    case (angle>90 && angle<180):
        direction = '东南'; break;

    case (angle>180 && angle<270):
        direction = '西南'; break;

    case (angle>270 && angle<360):
        direction = '西北'; break;
}