根据表达式的值执行几组语句之一。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
Select Case Drive.DriveType Case DriveTypeRemovable S = "Removable" Case DriveTypeFixed S = "Fixed" Case DriveTypeNetwork S = "Network" Case DriveTypeCDROM S = "CD-ROM" Case DriveTypeRAMDisk S = "RAM Disk" Case Else S = "Unknown" End Select
[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
Case DriveTypeRemovable
S = "Removable"
Case DriveTypeFixed
S = "Fixed"
Case DriveTypeNetwork
S = "Network"
Case DriveTypeCDROM
S = "CD-ROM"
Case DriveTypeRAMDisk
S = "RAM Disk"
Case Else
S = "Unknown"
End Select
不对啊,你写的vbs的写法,我要js的
case label :
statementlist
case label :
statementlist
...
default :
statementlist
}
参数
expression
要求值的表达式。
label
根据 expression 来匹配的标识符。如果 label === expression,则立即从冒号后的 statementlist 处开始执行,直到遇到一个可选的 break 语句,或到达 switch 语句的最后。
statementlist
要被执行的一个或多个语句。
说明
使用 default 子句来提供一个语句,该语句只在没有任何一个标签值与 expression 相匹配时才被执行。它可以出现在 switch 代码块内的任何地方。可以指定零或多个 label 块。如果没有 label 和 expression 的值匹配,并且没有提供 default 情况,则不执行任何语句。通过 switch 语句执行流程如下: 求 expression 的值并依次序查看 label,直到找到一个匹配。
如果 label 的值等于 expression 的值,则执行它相应的 statementlist。
继续执行,直到遇到一个 break 语句,或者 switch 语句结束。这意味着如果没有使用一个 break 语句,则多个 label 块被执行。
如果没有 label 等于 expression 的值,则跳转到 default 情况。如果没有 default 情况,则跳转到最后一步。
继续执行紧接 switch 代码块末尾的语句。
示例
下面示例测试一个对象的类型: function MyObject() {
...}switch (object.constructor){
case Date:
...
case Number:
...
case String:
...
case MyObject:
...
default:
...
}
{
var maptool = "FindNearest"
var ObjType, Range, ObjDes, Order, Other; ObjType = "Name"
Range = ""
ObjDes = document.all.txtFindString1.value + ":all"
Order = 10
szFnObjName = "!!ObjectName==" + document.all.txtFindString2.value
if (szFnObjName == '输入关键字') szFnObjName= "";
switch ( No ) {
case 1:
Other = "ObjectLayers==" + slSearchLayer1.options[ slSearchLayer1.selectedIndex ].value + szFnObjName
break;
case 2:
Other = "ObjectName==" + document.all.txtFindString2.value
break;
default:
break;
}
mtSpellSubmit( maptool, ObjType, Range, ObjDes, Order, Other )
}
http://msdn.microsoft.com/library