1. 多路开关概念
多路开关:1个表达式输入,根据表达式不同的值,选择执行对应的一段代码。 和If ElseIf多分支功能类似,但可读性更好,适合同一个表达式匹配多个不同值的场景。
2. 完整语法
Select Case 表达式
Case 结果1
语句1
Case 结果2
语句2
……
Case 结果n
语句n
Case Else
语句n+1 '上面所有Case都不匹配时执行
End Select
Code language: PHP (php)
执行流程
- 先计算
Select Case后面表达式的值 - 从上到下依次和每一个
Case后的结果比对 - 匹配成功,执行该Case内语句;执行完直接跳到End Select,不再继续判断后面Case
- 全部Case都不匹配 → 执行
Case Else里面的代码Case Else是可选的,建议写上,用来处理未知情况。
3. 示例代码解析
<%
dim a
a = 13
select case a
case 1
Response.Write 1
case 2
Response.Write 2
case 12
Response.Write 12
case else
Response.Write "一个都匹配不上执行这里"
end select
%>
Code language: JavaScript (javascript)
执行:a=13,依次对比1、2、12,全都不匹配,执行Case Else 页面输出:一个都匹配不上执行这里
4. Case的多种写法
Select Case score
Case 100
Response.Write "满分"
Case 90 To 99 '区间:90~99
Response.Write "优秀"
Case 80,81,82 '多个值用逗号隔开
Response.Write "良好"
Case Is >=60 'Is关键字 + 比较运算符
Response.Write "及格"
Case Else
Response.Write "不及格"
End Select
Code language: PHP (php)
5. Select Case 和 If…ElseIf 的对比
- Select Case:适合同一个表达式去匹配多个固定值,代码整齐。
- If…ElseIf:适合多个不一样的条件表达式,条件可以完全无关。
Previous: VBScript 条件语句
Next: VBScript 循环语句 — Do…Loop