asp学习网: 首页 >> vbscript教程 >> 使用 Select Case 进行判断

使用 Select Case 进行判断

使用 Select Case 进行判断
Select Case 结构提供了 If...Then...ElseIf 结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case 语句提供的功能与 If...Then...Else 语句类似,但是可以使代码更加简练易读。

Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较。如果匹配,则执行与该 Case 关联的语句块,示例代码如下:

Select Case Document.Form1.CardType.Options(SelectedIndex).Text
  Case "MasterCard"
     DisplayMCLogo
     ValidateMCAccount
  Case "Visa"
     DisplayVisaLogo
     ValidateVisaAccount
  Case "American Express"
     DisplayAMEXCOLogo
     ValidateAMEXCOAccount
  Case Else
     DisplayUnknownImage
     PromptAgain
End Select
请注意 Select Case 结构只计算开始处的一个表达式(只计算一次),而 If...Then...ElseIf 结构计算每个 ElseIf 语句的表达式,这些表达式可以各不相同。仅当每个 ElseIf 语句计算的表达式都相同时,才可以使用 Select Case 结构代替 If...Then...ElseIf 结构。

根据表达式的值执行几组语句之一。

Select Case testexpression
[Case expressionlist-n
[statements-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select
参数
testexpression
任意数值或字符串表达式。
expressionlist-n
如 Case 出现则必选项。一个或多个表达式的分界列表。
statements-n
当 testexpression 与 expressionlist-n 中的任意部分匹配时,执行的一条或多条语句。
elsestatements-n
当 testexpression 与 Case 子句的任何部分不匹配时,执行的一条或多条语句。
说明
如果 testexpression 与任何 Case expressionlist 表达式匹配,则执行此 Case 子句和下一个 Case 子句之间的语句,对于最后的子句,则会执行该子句到 End Select 之间的语句,然后控制权会转到 End Select 之后的语句。如 testexpression 与多个 Case 子句中的 expressionlist 表达式匹配,则只有第一个匹配后的语句被执行。

Case Else 用于指示若在 testexpression 和任何其他 Case 选项的 expressionlist 之间未找到匹配,则执行 elsestatements。虽然不是必要的,但最好是将 Case Else 语句置于 Select Case 块中以处理不可预见的 testexpression 值。如果没有 Case expressionlist 与 testexpression 匹配且无 Case Else 语句,则继续执行 End Select 之后的语句。

Select Case 语句可以是嵌套的,每一层嵌套的 Select Case 语句必须有与之匹配的 End Select 语句。

下面例子举例说明如何使用 Select Case 语句:

Dim Color, MyVar
Sub ChangeBackground (Color)
  MyVar = lcase (Color)
  Select Case MyVar
     Case "red"     document.bgColor = "red"
     Case "green"   document.bgColor = "green"
     Case "blue"    document.bgColor = "blue"
     Case Else      MsgBox "选择另一种颜色"
  End Select
End Sub
from:asp学习网/title:使用 Select Case 进行判断/ time:2006-4-8 23:33:09

本文主题使用 Select Case 进行判断

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