switch(某段運算){
case 情況一:
//執行情況一要做的事情
break; //跳離
case 情況二:
//執行情況二要做的事情
break; //跳離
default:
//執行非以上情況
}
以下是範例:
情境1:基本型,num 為多少,就會跳到指定的 case 去,執行完特定動作後,會因為遇到 break 而跳離整個 switch 區段,當 num 為 4 的時候,找不到對應的 case 時,就會到 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; } }
情境2:若某些 case 沒有下 break 跳離的話,則會繼續往下執行下一個 case,譬如若 num 為 1 的時候,會跳到 case 1,執行完後因為沒有 break,所以會繼續執行 case 2,然後才因遇到 break 而跳出。
情境3:與情境2狀況一樣,當判斷 num 在兩種不同的 case 都要執行相同的工作時,可以用此方法。
情境4:證明 switch 不是只能單純用來判斷單一變數,也可以是用來針對某個函式的執行結果做判斷。
情境5:證明 switch 亦可針對一段陳述式做判斷。