JavaScript switch



switch 语句用于根据不同的条件执行不同的操作。


JavaScript Switch 语句

使用switch语句选择要执行的多个代码块中的一个.

语法

switch(expression) {
    case n:
        code block
        break;
    case n:
        code block
        break;
    default:
        default code block
}

这就是它的工作原理:

  • switch 表达式求值一次.
  • 表达式的值与每个case的值进行比较。.
  • 如果有匹配,则执行相关的代码块.

getDay() 方法返回一周0到6之间的数字.

(Sunday=0, Monday=1, Tuesday=2 ..)

本例使用的工作日数计算星期的名称:

switch (new Date().getDay()) {
    case 0:
        day = "Sunday";
        break;
    case 1:
        day = "Monday";
        break;
    case 2:
        day = "Tuesday";
        break;
    case 3:
        day = "Wednesday";
        break;
    case 4:
        day = "Thursday";
        break;
    case 5:
        day = "Friday";
        break;
    case 6:
        day = "Saturday";
}

让我试试


break 关键字

当JavaScript达到一个break的关键词,它会跳出代码块.

这将停止在块内执行更多的代码和案例测试.

当找到一个匹配,工作完成后,它跳出。如果没有,继续进行更多的测试.

一个break可以节省大量的执行时间,因为它忽略了break开关块中所有其他代码都要执行。

在最后一个case块中没有必要使用break,因为无论如何它都会退出。


default 关键字

default 关键字指定在没有匹配的情况下运行的代码:

getDay() 方法返回一周0到6之间的数字.

如果今天不是星期六(6),也不是星期日(0),写一个default信息:

switch (new Date().getDay()) {
    case 6:
        text = "Today is Saturday";
        break;
    case 0:
        text = "Today is Sunday";
        break;
    default:
        text = "Looking forward to the Weekend";
}

让我试试

default 不一定放到最后一个语句块:

switch (new Date().getDay()) {
    default:
        text = "Looking forward to the Weekend";
        break;
    case 6:
        text = "Today is Saturday";
        break;
    case 0:
        text = "Today is Sunday";
}

让我试试

如果default不是开关块中的最后一个实例,请记住以break结束默认情况


相同的代码块

有时你会希望不同的开关情况下使用相同的代码.

在本例中,案例4和5共享相同的代码块,而0和6共享另一个代码块:

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "Soon it is Weekend";
        break;
    case 0:
    case 6:
        text = "It is Weekend";
        break;
    default:
        text = "Looking forward to the Weekend";
}

让我试试