Visual Basic Scripting Edition | 語言參考 |
根據(jù)表達(dá)式的值有條件地執(zhí)行一組語句。
If condition Then statements [Else elsestatements ]
或者,使用塊形式的語法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
condition
一個或多個下面兩種類型的表達(dá)式:
數(shù)值或字符串表達(dá)式,其運(yùn)算結(jié)果是 True 或 False。如果 condition 是 Null,則 condition 被視為 False。
形如 TypeOf objectname Is objecttype 的表達(dá)式。objectname 是任何對象的引用,而 objecttype 則是任何有效的對象類型。如果 objectname 是 objecttype 所指定的一種對象類型,則表達(dá)式為 True;否則為 False。
Statements
如果 condition 為 True 時(shí),執(zhí)行的一條或多條(以冒號分開)語句。
condition-n
同 condition。
elseifstatements
如果相關(guān)的 condition-n 為 True時(shí),執(zhí)行的一條或多條語句。
elsestatements
如果前面沒有 condition 或 condition-n 表達(dá)式為 True 時(shí),執(zhí)行的一條或多條語句。
對于短小簡單的測試,可以使用單行形式(第一種語法)。但塊形式(第二種語法)提供了比單行形式更強(qiáng)的結(jié)構(gòu)化與適應(yīng)性,比較容易閱讀、維護(hù)及調(diào)試。
注意 在單行語法中,可以執(zhí)行多條語句作為 If...Then 判斷的結(jié)果,但所有語句必須在同一行上并且以冒號分開,如下列語句所示:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
當(dāng)程序運(yùn)行到 If 塊(第二種語法)時(shí),將測試 condition。如果 condition 是 True,則執(zhí)行 Then 之后的語句。如 condition 是 False,則每個 ElseIf 部分的條件式(如果有的話)會依次計(jì)算并加以測試。當(dāng)找到某個為 True 的條件時(shí),則其相關(guān)的 Then 之后的語句會被執(zhí)行。如沒有一個 ElseIf 語句是 True(或沒有 ElseIf 子句),則將執(zhí)行 Else 之后的語句。執(zhí)行 Then 或 Else 之后的語句以后,將繼續(xù)執(zhí)行 End If 之后的語句。
Else 和 ElseIf 子句都是可選項(xiàng)的。在 If 塊中可以放置任意多個 ElseIf 子句,但是都必須在 Else 子句之前。If 塊語句可以被嵌套,即被包含在另一個 If 塊語句之中。
要判斷某個語句是否是一個 If 塊,可檢查 Then 關(guān)鍵字之后是什么。如果在 Then 的同一行之后還有其他非注釋的內(nèi)容,則此語句就是單行形式的 If 語句。
If 塊語句必須是某一行的第一條語句,并且必須以 End If 語句結(jié)束。