Switch 语句允许我们基于不同的条件来执行不同的代码。它提供了另一种处理多分支逻辑的方法,可以替代多个 if-else 语句的嵌套。
开始使用 Switch 语句
Switch 语句的基本语法如下:
-- -------------------- ---- ------- ------ ------------ - ---- ------- -- - ---------- -- ------ ------ ------ ---- ------- -- - ---------- -- ------ ------ ------ -------- -- - ---------- ----- ---- --------- -
示例:基本 Switch 语句
假设我们有一个简单的程序,根据一天中的时间显示问候语:
-- -------------------- ---- ------- -------- ---------------------- - ------ ----------- - ---- ---------- -------------------- ------ ---- ------------ -------------------- ------ ---- ---------- -------------------- ------ -------- ------------------- - - ----------------------- -- --- ---- ------------------------- -- --- ---- ----------------------- -- --- ---- --------------------- -- --- ---
在这个例子中,getGreeting
函数接收一个表示一天中某个时段的字符串参数 timeOfDay
。根据传入的值,函数会输出相应的问候语。如果传入了一个不在 case 语句中的值,则会执行默认部分的代码。
使用表达式作为 switch 的条件
Switch 语句不仅限于使用字符串,还可以使用任何可以比较的值。例如,我们可以用数字或变量来决定执行哪一部分代码:
-- -------------------- ---- ------- --- --- - --- ------ ----- - ---- --- --------------------- ------ ---- --- --------------------- ------ ---- --- -------------------- ------ -------- --------------------- -
在这个例子中,根据变量 age
的不同值,将输出不同的信息。
多个 case 共享相同代码块
有时候,几个 case 语句可能会需要执行相同的代码块。这种情况下,你可以省略多个 case 后面的 break 语句,从而让代码继续向下执行:
-- -------------------- ---- ------- -------- ----------------- - ------ ----- - ---- -- ---- -- ------------------ ------ ---- -- ---- -- ---- -- ---- -- ---- -- ------------------- ------ - - ---------------- -- --- -- ---------------- -- --- -- ---------------- -- --- ---
在这个例子中,case 0
和 case 6
都输出“周末”,因此没有使用 break 语句,使得程序能够连续执行这两个 case 对应的代码。
使用 fall-through 特性
尽管通常情况下每个 case 都应该有 break 语句,但在某些情况下,我们可能希望多个 case 语句共享相同的代码块。在这种情况下,我们可以利用 fall-through 特性,即不使用 break 语句,让代码继续执行下一个 case:
-- -------------------- ---- ------- -------- ------------------- - ------ ------ - ---- --- - --- --------------- ----- ------ ---- --- - -- --------------- - ----- ----- ------ ---- --- - -- --------------- - ----- ---- ------ -------- ----------------- ---- - - ------------------- -- --- -- -- ------------------ -- --- -- - ----- -- ------------------ -- --- -- - ----- - ------------------- -- --- ---- -
在这个例子中,我们使用了 switch(true)
结构,并且没有使用 break 语句,因此代码可以根据条件顺序执行。
总结
通过以上的讲解和示例,你应该已经掌握了如何使用 JavaScript 中的 Switch 语句。Switch 语句是一种非常有用的控制结构,可以帮助我们更清晰地组织多分支逻辑。希望这些知识能帮助你在实际项目中更好地应用它。