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

ASP 入門教學:VBScript If 單條件選擇結構完整解析

     編輯:ASP 入門教學

If 是 VBScript 最基礎、最常用的流程控制結構,分為單行、區塊與巢狀三種形式,靈活應對各種雙分支決策需求。

1. 單行 If 敘述

If <條件> Then [<陳述句1>] [Else <陳述句2>]
  • 適用於簡短、單一陳述句的真/假分支。
  • 多重陳述句可用冒號 : 分隔:If x > 0 Then y = 1 : z = 2 Else y = -1 : z = -2。
  • Else 為選用;省略時條件為假不執行任何動作。

範例:判斷今天是否週日

<html>
<head><title>單行 If 範例</title></head>
<body>
<script language="VBScript" for="button1" event="onClick">
Dim myWeek, a
myWeek = WeekDay(Now) - 1  ' 0=週日, 1=週一...
If myWeek = 0 Then a = "要好好休息喲。" Else a = "努力工作呀!"
MsgBox "今天是星期" & myWeek & "," & a
</script>
<center><input type="button" name="button1" value="請查看今天是星期幾"></center>
</body>
</html>

2. 區塊 If 敘述(多行 If)

If <條件> Then
    [陳述句區塊1]
[Else
    [陳述句區塊2]]
End If
  • 適用於分支內容較多、需跨多行的情境。
  • 結構清晰,易於維護與除錯。
  • End If 必須配對,否則編譯錯誤。

範例:輸入數值計算平方根

<html>
<head><title>區塊 If 範例</title></head>
<body>
<script language="VBScript" for="button1" event="onClick">
Dim a, b
a = Text1.Value
If Not IsNumeric(a) Then
    MsgBox "您輸入的不是數值資料"
Else
    b = "您輸入的資料是:" & a & ", 它的平方根是:" & Sqr(a)
    MsgBox b, , "求一個數的平方根"
End If
</script>
<center>請輸入數值資料:<input type="text" name="text1" size="10">
<input type="button" name="button1" value="求一個數的平方根"></center>
</body>
</html>

3. If 巢狀結構

  • 在 Then 或 Else 區塊內再包含 If。
  • 層級建議不超過 3 層,過深請改用 Select Case、函式拆解或查表法。
  • 每個 If 必須有對應的 End If,縮排對齊是閱讀關鍵。

範例:鐵路託運費用分級計算

<html>
<head><title>託運費計算</title></head>
<body>
請輸入行李重量:<input name="text2" type="text" size="10">&nbsp;kg&nbsp;&nbsp;
<input type="button" name="button3" value="計算運費">
<script language="VBScript" for="button3" event="onClick">
Dim w, x
w = text2.Value
If Not IsNumeric(w) Then
    MsgBox "您輸入的不是數值資料"
Else
    If w <= 50 Then
        x = 0.5 * w
    Else
        If w <= 100 Then
            x = 0.5 * 50 + 1.5 * (w - 50)
        Else
            x = 0.5 * 50 + 1.5 * 50 + 2 * (w - 100)
        End If
    End If
    MsgBox "行李的託運費是:" & x & "元", , "計算行李費"
End If
</script>
</body>
</html>

費率邏輯:

  • ≤ 50 kg:0.5 元/kg
  • 51~100 kg:前 50 kg 0.5 元,超出部分 1.5 元/kg
  • > 100 kg:前 100 kg 依上述,超出部分 2 元/kg

If 結構最佳實踐速查

情境建議寫法理由
單一簡短陳述句單行 If簡潔、一目瞭然
分支超過 1 行或含迴圈/函式呼叫區塊 If結構清晰、易除錯
同一變數對比多個離散值/區間Select Case / Select Case True效能佳、可讀性高
巢狀超過 3 層重構:函式、查表、狀態機降低認知負荷、減少 Bug
條件為「非數值」防呆優先 If Not IsNumeric(x) Then ... Else ...及早攔截、避免型別錯誤

常見陷阱

  • 字串比較大小寫:If "A" = "a" 為 False(預設 Binary 比較),需 Option Compare Text 或 UCase/LCase 正規化。
  • Null 值參與比較:If var > 0 若 var 為 Null 會拋錯,先用 IsNull 或 VarType 檢查。
  • 浮點數精度:If 0.1 + 0.2 = 0.3 可能為 False,建議 Abs(a - b) < 0.0001 判斷近似相等。

熟練駕馭 If 三種形式,能讓您精準表達任何雙分支決策邏輯,寫出強健的 VBScript 程式。

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