JavaScript中switch語句的用法詳解
可以使用多個(gè)if... else if語句,如前面的章節(jié),執(zhí)行多路分支。然而,這并不總是最佳的解決方案,尤其是當(dāng)所有分支的依賴單一的變量的值。
使用JavaScript1.2開始,你可以用它處理的正是這種情況,使用一個(gè)switch語句,它這樣做更有效,如果不是反復(fù)地使用if... else if語句。
語法
switch語句的基本語法給出一個(gè)expression ,以評(píng)估計(jì)算幾種不同的語句基于該表達(dá)式的值來執(zhí)行。解釋器檢查對(duì)表達(dá)式的值的每一種情況,直到找到一個(gè)匹配。如果沒有匹配,則缺省(default)條件將被使用。
switch (expression) { case condition 1: statement(s) break; case condition 2: statement(s) break; ... case condition n: statement(s) break; default: statement(s) }
break語句指示的解釋器是特定情況下結(jié)束。如果它們被省略,則解釋器將繼續(xù)在以下每個(gè)情況(case)執(zhí)行每個(gè)語句。
我們將解釋break語句在循環(huán)控制這一章。
例子:
下面的例子說明了一個(gè)基本的while循環(huán):
<script type="text/javascript"> <!-- var grade='A'; document.write("Entering switch block<br />"); switch (grade) { case 'A': document.write("Good job<br />"); break; case 'B': document.write("Pretty good<br />"); break; case 'C': document.write("Passed<br />"); break; case 'D': document.write("Not so good<br />"); break; case 'F': document.write("Failed<br />"); break; default: document.write("Unknown grade<br />") } document.write("Exiting switch block"); //--> </script>
這將產(chǎn)生以下結(jié)果:
Entering switch block Good job Exiting switch block
例子:
考慮這樣一種情況,如果不使用break語句:
<script type="text/javascript"> <!-- var grade='A'; document.write("Entering switch block<br />"); switch (grade) { case 'A': document.write("Good job<br />"); case 'B': document.write("Pretty good<br />"); case 'C': document.write("Passed<br />"); case 'D': document.write("Not so good<br />"); case 'F': document.write("Failed<br />"); default: document.write("Unknown grade<br />") } document.write("Exiting switch block"); //--> </script>
這將產(chǎn)生以下結(jié)果:
Entering switch block Good job Pretty good Passed Not so good Failed Unknown grade Exiting switch block
相關(guān)文章
JavaScript中用getDate()方法返回指定日期的教程
這篇文章主要介紹了JavaScript中用getDate()方法返回指定日期的教程,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06javascript學(xué)習(xí)筆記(十七) 檢測瀏覽器插件代碼
javascript學(xué)習(xí)筆記之檢測瀏覽器插件代碼,需要的朋友可以參考下2012-06-06關(guān)于JavaScript的Array數(shù)組方法詳解
這篇文章主要介紹了關(guān)于JavaScript的Array數(shù)組方法詳解,數(shù)組是一個(gè)固定長度的存儲(chǔ)相同數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),數(shù)組中的元素被存儲(chǔ)在一段連續(xù)的內(nèi)存空間中,它是最簡單的數(shù)據(jù)結(jié)構(gòu)之一,需要的朋友可以參考下2023-05-05addEventListener()第三個(gè)參數(shù)useCapture (Boolean)詳細(xì)解析
true的觸發(fā)順序總是在false之前;如果多個(gè)均為true,則外層的觸發(fā)先于內(nèi)層;如果多個(gè)均為false,則內(nèi)層的觸發(fā)先于外層2013-11-11JavaScript中字符串與數(shù)組的includes()用法
這篇文章主要介紹了JavaScript中字符串與數(shù)組的includes()用法,需要的朋友可以參考下2023-06-06Js從頭學(xué)起(基本數(shù)據(jù)類型和引用類型的參數(shù)傳遞詳細(xì)分析)
Js中所有函數(shù)的參數(shù)傳遞都是按值傳遞的,也就是把函數(shù)外面的值復(fù)制給函數(shù)內(nèi)部的參數(shù),就和把值從一個(gè)變量復(fù)制到另一個(gè)變量一樣。下面舉幾個(gè)特別的例子2012-02-02詳解JavaScript中數(shù)組和字符串的lastIndexOf()方法使用
這篇文章主要介紹了詳解JavaScript中數(shù)組和字符串的lastIndexOf()方法使用,文中特別提及了IE8的兼容問題以及for in的使用問題,需要的朋友可以參考下2016-03-03