萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript中switch語句的用法詳解

JavaScript中switch語句的用法詳解

   這篇文章主要介紹了JavaScript中switch語句的用法詳解,是JS入門學習中的基礎知識,需要的朋友可以參考下

  可以使用多個if... else if語句,如前面的章節,執行多路分支。然而,這並不總是最佳的解決方案,尤其是當所有分支的依賴單一的變量的值。

  使用JavaScript1.2開始,你可以用它處理的正是這種情況,使用一個switch語句,它這樣做更有效,如果不是反復地使用if... else if語句。

  語法

  switch語句的基本語法給出一個expression ,以評估計算幾種不同的語句基於該表達式的值來執行。解釋器檢查對表達式的值的每一種情況,直到找到一個匹配。如果沒有匹配,則缺省(default)條件將被使用。

  ?

1 2 3 4 5 6 7 8 9 10 11 switch (expression) { case condition 1: statement(s) break; case condition 2: statement(s) break; ... case condition n: statement(s) break; default: statement(s) }

  break語句指示的解釋器是特定情況下結束。如果它們被省略,則解釋器將繼續在以下每個情況(case)執行每個語句。

  我們將解釋break語句在循環控制這一章。

  例子:

  下面的例子說明了一個基本的while循環:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <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>

  這將產生以下結果:

  ?

1 2 3 Entering switch block Good job Exiting switch block

  例子:

  考慮這樣一種情況,如果不使用break語句:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <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>

  這將產生以下結果:

  ?

1 2 3 4 5 6 7 8 Entering switch block Good job Pretty good Passed Not so good Failed Unknown grade Exiting switch block
copyright © 萬盛學電腦網 all rights reserved