asp学习网: 首页 >> vbscript教程 >> If...Then...Else 语句

If...Then...Else 语句

根据表达式的值有条件地执行一组语句。

条件为 True 时运行语句
要在条件为 True 时运行单行语句,可使用 If...Then...Else 语句的单行语法。下例示范了单行语法。请注意此例省略了关键字 Else。

Sub FixDate()
   Dim myDate
   myDate = #2/13/95#
   If myDate < Now Then myDate = Now
End Sub
要运行多行代码,必须使用多行(或块)语法。多行(或块)语法包含 End If 语句,如下所示:

Sub AlertUser(value)
  If value = 0 Then
     AlertLabel.ForeColor = vbRed
     AlertLabel.Font.Bold = True
     AlertLabel.Font.Italic = True
  End If
End Sub
条件为 True 和 False 时分别运行某些语句
可以使用 If...Then...Else 语句定义两个可执行语句块:条件为 True 时运行某一语句块,条件为 False 时运行另一语句块。

Sub AlertUser(value)
  If value = 0 Then
     AlertLabel.ForeColor = vbRed
     AlertLabel.Font.Bold = True
     AlertLabel.Font.Italic = True
  Else
     AlertLabel.Forecolor = vbBlack
     AlertLabel.Font.Bold = False
     AlertLabel.Font.Italic = False
  End If
End Sub
对多个条件进行判断
If...Then...Else 语句的一种变形允许您从多个条件中选择,即添加 ElseIf 子句以扩充 If...Then...Else 语句的功能,使您可以控制基于多种可能的程序流程。例如:

Sub ReportValue(value)
  If value = 0 Then
     MsgBox value
  ElseIf value = 1 Then
     MsgBox value
  ElseIf value = 2 then
     Msgbox value
  Else
     Msgbox "数值超出范围!"
  End If
可以添加任意多个 ElseIf 子句以提供多种选择。使用多个 ElseIf 子句经常会变得很累赘。在多个条件中进行选择的更好方法是使用 Select Case 语句。


If condition Then statements [Else elsestatements ]
或者,使用块形式的语法:

If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
参数
condition
一个或多个下面两种类型的表达式:
数值或字符串表达式,其运算结果是 True 或 False。如果 condition 是 Null,则 condition 被视为 False。

形如 TypeOf objectname Is objecttype 的表达式。objectname 是任何对象的引用,而 objecttype 则是任何有效的对象类型。如果 objectname 是 objecttype 所指定的一种对象类型,则表达式为 True;否则为 False。

Statements
如果 condition 为 True 时,执行的一条或多条(以冒号分开)语句。
condition-n
同 condition。
elseifstatements
如果相关的 condition-n 为 True时,执行的一条或多条语句。
elsestatements
如果前面没有 condition 或 condition-n 表达式为 True 时,执行的一条或多条语句。
说明
对于短小简单的测试,可以使用单行形式(第一种语法)。但块形式(第二种语法)提供了比单行形式更强的结构化与适应性,比较容易阅读、维护及调试。

注意   在单行语法中,可以执行多条语句作为 If...Then 判断的结果,但所有语句必须在同一行上并且以冒号分开,如下列语句所示:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
当程序运行到 If 块(第二种语法)时,将测试 condition。如果 condition 是 True,则执行 Then 之后的语句。如 condition 是 False,则每个 ElseIf 部分的条件式(如果有的话)会依次计算并加以测试。当找到某个为 True 的条件时,则其相关的 Then 之后的语句会被执行。如没有一个 ElseIf 语句是 True(或没有 ElseIf 子句),则将执行 Else 之后的语句。执行 Then 或 Else 之后的语句以后,将继续执行 End If 之后的语句。

Else 和 ElseIf 子句都是可选项的。在 If 块中可以放置任意多个 ElseIf 子句,但是都必须在 Else 子句之前。If 块语句可以被嵌套,即被包含在另一个 If 块语句之中。

要判断某个语句是否是一个 If 块,可检查 Then 关键字之后是什么。如果在 Then 的同一行之后还有其他非注释的内容,则此语句就是单行形式的 If 语句。

If 块语句必须是某一行的第一条语句,并且必须以 End If 语句结束。

from:asp学习网/title:If...Then...Else 语句/ time:2006-4-8 23:31:41

本文主题If...Then...Else 语句

asp教程 ©2006-2007 aspxuexi.com | 关于站点 | 版权隐私 | 站内搜索
复制或者翻版 请于夜间进行