當有很多種選項的時候,switch比if else使用更方便,語法如下: 1 switch(表達式) 2 { 3 case值1: 4 執行代碼塊 1 5 break; 6 case值2: 7 執行代碼塊 2 8 break; 9 ... 10 case值n: 11 執行代碼塊 n 12 break; ...
當有很多種選項的時候,switch比if else使用更方便,語法如下:
1 switch(表達式) 2 { 3 case值1: 4 執行代碼塊 1 5 break; 6 case值2: 7 執行代碼塊 2 8 break; 9 ... 10 case值n: 11 執行代碼塊 n 12 break; 13 default: 14 與 case值1 、 case值2...case值n 不同時執行的代碼 15 }
語法說明:
1 Switch必須賦初始值,值與每個case值匹配。滿足執行該 case 後的所有語句,並用break語句來阻止運行下一個case。如所有case值都不匹配,執行default後的語句。
舉例:假設評價學生的考試成績,10分滿分制,我們按照每一分一個等級將成績分等,並根據成績的等級做出不同的評價。
1 <!DOCTYPE > 2 <html> 3 <head> 4 <title>switch語句</title> 5 <meta charset="utf-8"> 6 <script type="text/javascript"> 7 var myscore=5; 8 switch(myscore){ 9 case 0: 10 case 1: 11 case 2: 12 case 3: 13 case 4: 14 case 5: 15 degree="繼續努力!"; 16 document.write('評語:'+degree+"<br />"); 17 // break; 18 case 6: 19 degree="及格,加油!" 20 document.write('評語:'+degree+"<br />"); 21 break; 22 case 7: 23 degree="湊合,奮鬥!" 24 document.write('評語:'+degree+"<br />"); 25 break; 26 case 8: 27 degree="麽麽噠,棒棒滴" 28 document.write('評語:'+degree+"<br />"); 29 break; 30 case 9: 31 case 10: 32 degree="你像我一樣優秀" 33 document.write('評語:'+degree+"<br />"); 34 break; 35 } 36 </script> 37 </head> 38 <body> 39 </body> 40 </html>
需要註意的是在case所執行的語句後添加上一個break語句。否則就直接繼續執行下麵的case中的語句,如上代碼展示最終評語為:
1 評語:繼續努力! 2 評語:及格,加油!