js switch select case

当指定的表达式的值与某个标签匹配时,即执行相应的一个或多个语句。  
   
switch   (expression)   {  
        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:    
        ...  
}   
function   mtSubmitFindNearest(No)  
{  
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   )  
   
}

Case 语句可包含多个值和某个范围的值

Function bonus(ByVal performance As Integer, _
ByVal salary As Decimal) As Decimal
      Select performance
          Case 1
              Return salary * 0.1
          Case 2,3
              Return salary * 0.3
          Case 3 To 7
              Return salary * 0.7
          Case 8 To 9
              Return salary * 0.9
          Case Is <= 15
              Return salary * 1.2
          Case Else
              Return 0
     End Select
End Function

每个 Case 语句可以包含一个值,比如:

    Case 1

也可以包含多个值,多个值用逗号 (,) 分开,比如:

    Case 2
   Case 3

也可以是某个范围的值,比如:

    Case 3 To 7

也可以是值和比较运算符的组合,比如:

    Case Is <= 15
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值