type
Post
status
Published
date
Jul 3, 2025
slug
summary
switch 语句可以替代多个 if 判断。
switch 语句为多分支选择的情况提供了一个更具描述性的方式。tags
JavaScript
category
JavaScript
icon
password
上次编辑时间
Jul 3, 2025 09:47 AM
comment
AI 总结
switch 语句可以替代多个 if 判断。switch 语句为多分支选择的情况提供了一个更具描述性的方式。语法
switch 语句有至少一个 case 代码块和一个可选的 default 代码块。就像这样:
- 比较
x值与第一个case(也就是value1)是否严格相等,然后比较第二个case(value2)以此类推。
- 如果相等,
switch语句就执行相应case下的代码块,直到遇到最靠近的break语句(或者直到switch语句末尾)。
- 如果没有符合的 case,则执行
default代码块(如果default存在)。
举个例子
switch 的例子(高亮的部分是执行的 case 部分):这里的
switch 从第一个 case 分支开始将 a 的值与 case 后的值进行比较,第一个 case 后的值为 3 匹配失败。然后比较
4。匹配,所以从 case 4 开始执行直到遇到最近的 break。如果没有
break,程序将不经过任何检查就会继续执行下一个 case。无
break 的例子:在上面的例子中我们会看到连续执行的三个
alert:任何表达式都可以成为
switch/case 的参数switch 和 case 都允许任意表达式。比如:
这里
+a 返回 1,这个值跟 case 中 b + 1 相比较,然后执行对应的代码。“case” 分组
共享同一段代码的几个
case 分支可以被分为一组:比如,如果我们想让
case 3 和 case 5 执行同样的代码:现在
3 和 5 都显示相同的信息。switch/case 有通过 case 进行“分组”的能力,其实是 switch 语句没有 break 时的副作用。因为没有 break,case 3 会从 (*) 行执行到 case 5。类型很关键
强调一下,这里的相等是严格相等。被比较的值必须是相同的类型才能进行匹配。
比如,我们来看下面的代码:
- 在
prompt对话框输入0、1,第一个alert弹出。
- 输入
2,第二个alert弹出。
- 但是输入
3,因为prompt的结果是字符串类型的"3",不严格相等===于数字类型的3,所以case 3不会执行!因此case 3部分是一段无效代码。所以会执行default分支。
- Author:24th
- URL:https://24th.top/article/225e5b08-46db-8020-b1e7-d090e57bf77b
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!








