首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> ASP 程式設計 >> ASP 入門教學

ASP 入門教學:VBScript Select Case 多分支選擇結構完整指南

     編輯:ASP 入門教學

Select Case 是 VBScript 處理多重條件判斷的最佳結構,程式碼清晰、效率優於多層 If...ElseIf,特別適合「單一運算式對比多個離散值」的情境。

語法結構

Select Case <測試運算式>
    [Case <運算式1>
        [陳述句區塊1]]
    [Case <運算式2>
        [陳述句區塊2]]
    ...
    [Case Else
        [其他陳述句區塊]]
End Select
  • 測試運算式:只評估一次,依序與各 Case 運算式比對。
  • 比對規則:預設為相等比較;若需範圍/條件判斷,可用 Select Case True 技巧(見範例 2)。
  • Case Else:所有 Case 皆不符合時執行,可省略。
  • 符合第一個 Case 後自動跳出,不會落入後續 Case(無 Fall-through 行為)。

範例 1:客戶端按鈕切換背景/前景色(純前端 VBScript)

<html>
<head><title>顏色選擇器</title>
<Script Language="VBScript">
<!--
Sub bchange(choice)
    Select Case choice
        Case 1 : document.bgColor = "#9AD3AF"  ' 淺綠
        Case 2 : document.bgColor = "#F3FAC5"  ' 淺黃
        Case 3 : document.bgColor = "#CDC8F7"  ' 淺紫
        Case 4 : document.bgColor = "#F8C7DA"  ' 淺粉
        Case 5 : document.fgColor = "#69011C"  ' 深紅
        Case 6 : document.fgColor = "#264436"  ' 深綠
        Case 7 : document.fgColor = "#D76817"  ' 橘黃
        Case 8 : document.fgColor = "#544976"  ' 深藍
    End Select
End Sub
-->
</Script>
</head>
<body>
<center><h2>背景與文字顏色選擇</h2>
<table border="2">
<tr><th>背景顏色<th>選擇<th>文字顏色<th>選擇</tr>
<tr><td>淡綠<td><input type="radio" onClick="bchange(1)"><td>深紅<td><input type="radio" onClick="bchange(5)"></tr>
<tr><td>淡黃<td><input type="radio" onClick="bchange(2)"><td>深綠<td><input type="radio" onClick="bchange(6)"></tr>
<tr><td>淡紫<td><input type="radio" onClick="bchange(3)"><td>桔黃<td><input type="radio" onClick="bchange(7)"></tr>
<tr><td>淡粉<td><input type="radio" onClick="bchange(4)"><td>深藍<td><input type="radio" onClick="bchange(8)"></tr>
</table>
</center>
</body>
</html>

說明:此為客戶端 VBScript(需 IE),透過 onClick 觸發 Select Case 切換 document.bgColor/fgColor。

範例 2:伺服器端依時間顯示問候語(Select Case True 技巧)

<html>
<head><title>時間問候語</title></head>
<body>
<%
Dim aa, bb, cc, dd, ee, ff, my_time
my_time = Time()
aa = #00:00:00# : bb = #07:00:00# : cc = #12:00:00#
dd = #14:00:00# : ee = #20:00:00# : ff = #23:59:59#
x = Time()

Select Case True
    Case x >= aa And x < bb  : Response.Write "早上好,歡迎光臨!"
    Case x >= bb And x < cc  : Response.Write "上午好,歡迎光臨!"
    Case x >= cc And x < dd  : Response.Write "中午好,歡迎光臨!"
    Case x >= dd And x < ee  : Response.Write "下午好,歡迎光臨!"
    Case x >= ee And x < ff  : Response.Write "晚上好,歡迎光臨!"
End Select
%>
</body>
</html>

關鍵技巧:Select Case True 將每個 Case 變為布林運算式,實現區間/複合條件判斷,比 If...ElseIf 更易讀。

Select Case vs If...ElseIf 效能與風格比較

維度Select CaseIf...ElseIf
測試運算式評估次數一次每個條件各評估一次
適合情境單一值對比多個離散值/區間複雜複合條件、不同變數判斷
程式碼可讀性結構清晰、易維護層級過深時易混淆
Fall-through無(符合即跳出)需自行控制

常見錯誤與除錯提示

  • 忘寫 End Select:導致編譯錯誤「Expected 'End Select'」。
  • Case 運算式型別不符:測試運算式為數字,Case 寫字串,永不匹配。
  • 誤以為會 Fall-through:VBScript Select Case 不支援 Fall-through,若需多值共用邏輯,請用逗號分隔:Case 1, 3, 5。
  • 字串比較大小寫敏感:預設 Option Compare Binary,若需不分大小寫,檔案頂端加 Option Compare Text。

善用 Select Case 讓條件判斷邏輯一目瞭然,是寫出可維護 VBScript 代碼的關鍵習慣。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved