JavaScript Switch 语句

本文介绍了 JavaScript 中的 Switch 语句,通过一个具体的日期示例展示了如何使用它来选择执行多个代码块中的一个。Switch 语句适用于当程序需要根据不同的条件执行不同代码路径的情况。

JavaScript Switch 语句

如果希望选择执行若干代码块中的一个,你可以使用 switch 语句:

语法:

switch(n)
   {
   case 1:
     执行代码块 1
     break
   case 2:
     执行代码块 2
     break
   default:
     如果n即不是1也不是2,则执行此代码
   }

工作原理:switch 后面的 (n) 可以是表达式,也可以(并通常)是变量。然后表达式中的值会与 case 中的数字作比较,如果与某个 case 相匹配,那么其后的代码就会被执行。break 的作用是防止代码自动执行到下一行。

实例:

<script type="text/javascript">
//You will receive a different greeting based
//on what day it is. Note that Sunday=0,
//Monday=1, Tuesday=2, etc.

var d=new Date()
theDay=d.getDay()

switch (theDay)
   {
   case 5:
     document.write("Finally Friday")
     break
   case 6:
     document.write("Super Saturday")
     break
   case 0:
     document.write("Sleepy Sunday")
     break
   default:
     document.write("I'm looking forward to this weekend!")
}
</script>
JavaScript 中的 switch 语句是一种条件语句,用于基于不同的条件值执行不同的代码块,是优化过的 if - else 语句的替代方案[^1]。 ### 使用方法 其基本语法如下: ```javascript switch (expression) { case value1: // 当 expression 的值等于 value1 时执行的代码 break; case value2: // 当 expression 的值等于 value2 时执行的代码 break; default: // 当 expression 的值与之前的 case 都不匹配时执行的代码 break; } ``` 使用时,先计算 `switch` 后的表达式,然后将表达式的值与每个 `case` 的值进行对比,如果存在匹配,则执行关联代码块。`break` 语句用于终止当前 `switch` 语句执行,防止执行后续 `case` 中的代码。`default` 是可选的,当没有匹配的 `case` 时,会执行 `default` 后的代码块。 ### 示例 ```javascript let day = new Date().getDay(); switch (day) { case 0: console.log("Sunday"); break; case 1: console.log("Monday"); break; case 2: console.log("Tuesday"); break; case 3: console.log("Wednesday"); break; case 4: console.log("Thursday"); break; case 5: console.log("Friday"); break; case 6: console.log("Saturday"); break; default: console.log("Invalid day"); } ``` 在这个示例中,通过 `new Date().getDay()` 获取当前是一周中的第几天,然后使用 `switch` 语句根据不同的值输出对应的星期名称。 ### 注意事项 - **`break` 的使用**:如果省略 `break` 语句,代码会继续执行下一个 `case` 中的代码,可能会导致意外的结果。 - **值的比较**:`switch` 语句使用严格相等(`===`)来比较 `expression` 和 `case` 的值,即值和类型都要相同。 - **`default` 的位置**:`default` 分支不一定要放在最后,可以放在 `switch` 语句中的任何位置,但通常习惯放在最后。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值