VBScript 条件语句:IF…Else 和 ElseIF(示例)

⚡ 智能摘要

VBScript 条件语句允许程序根据条件做出决策并执行不同的代码。VBScript 提供了四种形式:If…Then、If…Then…Else、If…Then…ElseIf 和 Select Case,后者根据匹配的值从多个代码块中选择一个。

  • 🔀 如果……那么: 仅当条件为真时才运行代码块,并且必须以 End If 结束。
  • ↔️ 如果……那么……否则: 在两个代码块之间进行选择,条件为真时运行一个代码块,否则运行另一个代码块。
  • 🪜 如果……那么……否则如果: 按顺序测试多个条件,并运行第一个匹配的块。
  • 🎛️ 选择案例: 将一个变量与多个值进行比较,比冗长的 ElseIf 链更简洁。
  • ⌨️ 输入Box 演示: 年龄示例读取用户输入,并根据输入的值选择消息。
  • ⚠️ 结束标记: 如果代码块需要 End If 和 Select Case 需要 End Select,否则代码不会产生任何输出。

VBScript 条件语句

什么是条件语句?

在编程时,您必须做出某些决定,并根据这些决定执行不同的操作。

在这种情况下,您将使用条件语句。

在 VBScript 中,有四种类型的条件语句:If…Then、If…Then…Else、If…Then…ElseIf 和 Select Case。

VBScript If Then 语句

如果您想在特定条件为真时执行某些代码,则可以使用 VBScript If-Then 语句。

例如,您希望每当变量loggedIn的值为真时输出消息“欢迎”。

在这种情况下,您将在 VBS 中使用 If…Then 语句。

If loggedIn = true Then
document.write("Welcome")
End If

注意:如果您忘记用 End If 结束代码,则将不会获得任何输出。

VBScript If Else 语句

如果您想选择要执行的两个代码块中的一个,您将使用 VBScript If…Then…Else 语句。

例如, 您想要在名为“time”的变量的值小于或等于十时输出消息“Hi, Good Morning”,否则输出消息“Hi, Good Day”。

在这种情况下,您将使用 If…Then…Else 语句。

If time <= 10 Then
document.write("Hi, Good Morning")
Else
document.write("Hi, Good Day")
End If

VBScript If Elseif 语句

如果您需要选择要执行的多个代码块中的一个,您将使用 If…Then…ElseIf 语句。

例如, 如果你想根据星期几改变输出结果,那么你必须使用 If…Then…ElseIf 语句。

If today="Sunday" Then
document.write("Today is Sunday")
ElseIf today="Monday" Then
document.write("Today is Monday")
ElseIf today="Tuesday" Then
document.write("Today is Tuesday")
ElseIf today="Wednesday" Then
document.write("Today is Wednesday")
ElseIf today="Thursday" Then
document.write("Today is Thursday")
ElseIf today="Friday" Then
document.write("Today is Friday")
ElseIf today="Saturday" Then
document.write("Today is Saturday")
End If

VBScript SELECT 语句

与 If…Then…ElseIf 语句类似,如果您需要选择要执行的多个代码块中的一个,也可以使用 VBScript Case 语句。

可以使用 Select Case 语句像这样编写相同的上述代码。

Select Case today
Case "Sunday"
document.write("Today is Sunday")
Case "Monday"
document.write("Today is Monday")
Case "Tuesday"
document.write("Today is Tuesday")
Case "Wednesday"
document.write("Today is Wednesday")
Case "Thursday"
document.write("Today is Thursday")
Case "Friday"
document.write("Today is Friday")
Case "Saturday"
document.write("Today is Saturday")
End Select

尝试下面给出的代码,以使概念更加清晰。

If Else If 示例

步骤1) 将代码复制到编辑器中

<html>
<head>
<script type="text/vbscript">
Dim age
age = InputBox("Enter your age")
If age<18 Then
document.write("You are too young.")
ElseIf age<45 Then
document.write("You are still young.")
ElseIf age<70 Then
document.write("You are getting older.")
Else
document.write("You are too old.")
End If

</script>

</head>
<body>
</body>
</html>

步骤2) 将文件保存为condition.html到您喜欢的位置。

现在在 Internet Explorer 中打开该文件,您的屏幕将如下所示,其中有一个框要求输入您的年龄。

VBScript SELECT 语句

输入一个数值,例如 22。您将收到如下消息。

VBScript SELECT 语句

输入不同的值并观察输出。

常见问题

当需要将一个变量与多个固定值进行比较时,请使用 Select Case;它比冗长的 ElseIf 语句链更简洁。当条件测试不同的变量或范围时,请使用 ElseIf。

是的。像 `If x=1 Then y=2` 这样的单行 If 语句不需要 `End If`。只有当 If 语句块跨越多行且包含多个独立语句时才需要 `End If`。

不。VBScript 没有三元运算符 (?:),也没有内置的 IIf 函数。请使用完整的 If…Then…Else 代码块,或者编写一个简单的辅助函数,根据条件选择值。

是的。人工智能可以将重复的 If…ElseIf 语句块重构为等效的 Select Case 语句块,从而提高代码可读性。它还可以标记无法转换的条件,例如范围检查。

AI 可以识别缺失的 End If 或 End Select 语句、错误的比较运算符以及无法访问的分支。它会解释为什么某个条件永远不会执行,并提出修复建议,从而减少静默无输出的错误。

总结一下这篇文章: