js switch语句祥解[范围判断]

 

switch 语句

switch 语句是 if 语句的兄弟语句。

开发者可以用 switch 语句为表达式提供一系列的情况(case)。

switch 语句的语法:

switch (expression)
case value: statement;
break;
case value: statement;
break;
case value: statement;
break;
case value: statement;
break;
...
case value: statement;
break;
default: statement;

每个情况(case)都是表示“如果 expression 等于 value,就执行 statement”。

关键字 break 会使代码跳出 switch 语句。如果没有关键字 break,代码执行就会继续进入下一个 case。

关键字 default 说明了表达式的结果不等于任何一种情况时的操作(事实上,它相对于 else 从句)。

switch 语句主要是为避免让开发者编写下面的代码:

if (i == 20)
alert("20");
else if (i == 30)
alert("30");
else if (i == 40)
alert("40");
else
alert("other");

等价的 switch 语句是这样的:

switch (i) {
case 20: alert("20");
break;
case 30: alert("30");
break;
case 40: alert("40");
break;
default: alert("other");
}

 

上面的是js SWITCH语句的一般用法,但是相信很同仁与我一样还想SWITCH语句能作相应的比较判断,

其实这在JS SWITCH语句中是允许的,具体怎么做呢?方法如下:

var s_level=10*Math.random();
    switch(true){
          
       case s_level<10 :
                
       alert('less than 10');
          break;
                
      case s_level<20 :
               
   alert('less than 20');     
           break;
                 
      default :
                
alert('More than 20');
        

}

从上面,可以看出,只要在SWITCH中加上TRUE即可进行比较运算了。

JS SWICTH语句注意点:

1 在SWITCH中没有TRUE参数时,只能是相等判定控制,即“如果 expression 等于 value,就执行 statement

2 加TRUE参数后,即可进行比较运算控制了。

3 还应注意在“case value:”case与value之间是有空格的,这点要十分注意.

类比PHP SWITCH语句

另外注明:某一天,我的一个同仁突然问我那PHP SWITCH 能不能作值比较呢?

其实编程语言的流程控制结构都是相同(通)的,不同的只是它的基本语法以及自带的函数库不同。

我举个例子,如下:

<?php
   $s_level=rand(1,6);
   echo $s_level.'<br/>';
    switch(true){
   case $s_level<3 :
    echo 'less than 3';
    break;
   case $s_level>5 :
   echo 'more than 5';
    break;
   default :      
    echo 'ok';
   }

我将变量$S_level的值设置为[1,6]这样一个区间,然作了如上的比较。

其实质与JS的一样。有兴趣的朋友可以将我这里PHP SWITCHJS SWITCH的例子考到你的本地进行测试

原文地址:https://www.cnblogs.com/jinbiao/p/2550575.html