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 语句是一种非常有用的控制结构,可以帮助我们更清晰地组织多分支逻辑。希望这些知识能帮助你在实际项目中更好地应用它。