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的例子考到你的本地進行測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM