Posted on 

switch语句

switch 语句可以替代多个 if 判断。

switch 语句有至少一个case 代码块和一个可选的 default 代码块:

1
2
3
4
5
6
7
8
9
10
11
12
13
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]

case 'value2': // if (x === 'value2')
...
[break]

default:
...
[break]
}

switch会从第一个分支开始匹配x的值和case后的值,直到最后default(如果存在)。

如果没有 break , 即使匹配成功, 也不会跳出判断, 而是继续寻找符合条件的 case, 包括 default 。

case分组

共享同一段代码的几个 case 分支可以被分为一组:

1
2
3
4
5
6
7
8
9
10
switch(x) {
case 'value1': // if (x === 'value1')
case 'value2': // if (x === 'value2')
...
[break]

default:
...
[break]
}