case 情況一:
//執行情況一要做的事情
break; //跳離
case 情況二:
//執行情況二要做的事情
break; //跳離
default:
//執行非以上情況
}
以下是範例:
function case1(num){
switch(num){
case 1:
document.writeln("show 1!!");
break;
case 2:
document.writeln("show 2!!");
break;
case 3:
document.writeln("show 3!!");
break;
default:
document.writeln("show others!!");
break;
}
}
function case2(num){
switch(num){
case 1:
document.writeln("show 1!!");
//沒有break,所以會繼續執行case 2
case 2:
document.writeln("show 2!!");
break;
case 3:
document.writeln("show 3!!");
//沒有break,所以會繼續執行case 4
case 4:
document.writeln("show 4!!");
break;
default:
document.writeln("show others!!");
break;
}
}
function case3(num){
switch(num){
case 1:
case 2:
//相當於if(num==1 || num==2)
document.writeln("show 1 or 2!!");
break;
case 3:
case 4:
//相當於if(num==3 || num==4)
document.writeln("show 3 or 4!!");
break;
default:
//相當於else
document.writeln("show others!!");
break;
}
}
function case4(num){
switch(f(num)){
case 1:
case 2:
//相當於if(num==1 || num==2)
document.writeln("show 1 or 2!!");
break;
case 3:
case 4:
//相當於if(num==3 || num==4)
document.writeln("show 3 or 4!!");
break;
default:
//相當於else
document.writeln("show others!!");
break;
}
}
function f(num){
return num;
}
function case5(num){
switch(num<=2){
case true:
document.writeln("num <= 2");
break;
case false:
document.writeln("num > 2");
break;
}
}
情境1:基本型,num 為多少,就會跳到指定的 case 去,執行完特定動作後,會因為遇到 break 而跳離整個 switch 區段,當 num 為 4 的時候,找不到對應的 case 時,就會到 default 去。情境2:若某些 case 沒有下 break 跳離的話,則會繼續往下執行下一個 case,譬如若 num 為 1 的時候,會跳到 case 1,執行完後因為沒有 break,所以會繼續執行 case 2,然後才因遇到 break 而跳出。
情境3:與情境2狀況一樣,當判斷 num 在兩種不同的 case 都要執行相同的工作時,可以用此方法。
情境4:證明 switch 不是只能單純用來判斷單一變數,也可以是用來針對某個函式的執行結果做判斷。
情境5:證明 switch 亦可針對一段陳述式做判斷。
沒有留言:
張貼留言