在JavaScript中使用if-else-if語句可以實現多路選擇功能,但其結構使程序看起來很不清晰,也不容易維護。而switch語句是典型的多路分支(多路選擇)語句,其作用與if-else-if語句基本相同,但switch語句比if-else-if語句更具有可讀性,它可以根據一個表達式的值在給定的多個選擇中選擇一個符合條件的分支來執行。而且switch語句允許在找不到一個匹配條件的情況下能執行默認的一個分支。switch語句的語法格式如下:
參數說明:
1)表達式:任意的合法表達式。
2)常量表達式:任意的常量或常量表達式。當表達式的值與某個常量表達式的值相等時,就執行此case分支的相應語句。
3)語句組:可由一條或多條語句組成。
4)break:用於結束switch語句,從而使JavaScript只執行匹配的case分支。如果沒有break語句,則該匹配分支之後的所有分支都將被執行,這樣也就失去了用switch實現分支選擇的意義。
5)default:如果表達式的值與所有的常量表達式的值都不相等,則執行default分支的相應語句。如果default分支省略,則在表達式的值與所有的常量表達式的值都不相等的情況下,JavaScript會直接結束switch語句,而不進行任何操作。
實例:某班部分同學的任職情況:張三(班長)、李四(副班長)、王五(體育委員)、清風(學習委員)、其他同學(暫無任職)。請用JavaScript的switch語句編寫一段程序,判斷輸出清風同學的任職情況。
代碼如下:
<script type="text/javascript">
var str_name="清風";
var str_zw="";
switch(str_name){
case "張三":
str_zw="班長";
break; //如果執行了case "張三" 這一分支,則在此退出
case "李四":
str_zw="副班長";
break; //如果執行了case "李四" 這一分支,則在此退出
case "王五":
str_zw="體育委員";
break; //如果執行了case "王五" 這一分支,則在此退出
case "清風":
str_zw="學習委員";
break; //如果執行了case "清風" 這一分支,則在此退出
default:
str_zw="暫無任職";
}
document.write(str_name + "同學:" + str_zw);
</script>
結果:
清風同學:學習委員