JavaScript菜鳥教程

JavaScript 對象

JavaScript 函數(shù)

JS HTML DOM

JS 瀏覽器BOM

AJAX 菜鳥教程

JavaScript 參考手冊

JavaScript switch語句

Switch是與if ... else ...相同的條件語句,不同之處在于switch語句允許根據(jù)值列表測試變量是否相等。

使用switch從要執(zhí)行的許多代碼塊中選擇一個。這是一個完美的解決方案,嵌套if…else語句。

一條switch語句如下所示:

switch (expression) {
  case value1:  
    //語句執(zhí)行
    //表達式的結(jié)果與value1匹配
  break;
  case value2:  
    //語句執(zhí)行
    //表達式的結(jié)果與value2匹配
  break;
  ...
  case valueN:  
    //語句執(zhí)行
    //表達式的結(jié)果與value N匹配
  break;
  default:
   //當(dāng)以上任何一項都不執(zhí)行時
   //執(zhí)行這里的代碼塊
 }

按照上面代碼塊的邏輯,這是將要發(fā)生的事件的順序:

  • switch表達式一次求值

  • 將表達式的值與每種情況的值進行比較

  • 如果匹配,則執(zhí)行相關(guān)的代碼塊

  • 如果所有情況都不匹配,則執(zhí)行默認代碼塊

以下示例使用工作日編號來計算星期幾:

var day;
switch (new Date().getDay()) {
case 0: 
 day = "Sunday";
 break;
case 1: 
 day = "Monday";
 break;
case 2: 
 day = "Tuesday";
 break;
case 3: 
 day = "Wednesday";
 break;
case 4: 
 day = "Thursday";
 break;
case 5: 
 day = "Friday";
 break;
case 6: 
 day = "Saturday";
 break;
default: 
 day = "Undefined Day";
}
測試看看?/?

break 關(guān)鍵字

break與每個case標(biāo)簽相關(guān)聯(lián)的關(guān)鍵字可確保一旦執(zhí)行了匹配的語句,程序便會退出切換,并在切換后的語句處繼續(xù)執(zhí)行。如果省略break,程序?qū)⒃趕witch語句的下一個語句處繼續(xù)執(zhí)行。

如果您忘記休息,那么腳本將從符合條件的情況開始運行,然后在滿足條件的情況下運行情況:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1: 
    text = "您輸入的號碼是 1";
   case 2: 
    text = "您輸入的號碼是 2";
   case 3: 
    text = "您輸入的號碼是 3";
   case 4: 
    text = "您輸入的號碼是 4";
   case 5: 
    text = "您輸入的號碼是 5";
   default: 
    text = "執(zhí)行默認語句";
}
測試看看?/?

沒有必要中斷switch塊中的最后一種(即default)情況。因為語句塊最終在這里中斷(結(jié)束)。

default  關(guān)鍵字

如果沒有case匹配,則default關(guān)鍵字指定要運行的一些代碼。

switch中只能有一個默認語句。盡管這是可選的,但建議您使用它,因為它可以處理預(yù)料之外的情況。

多種情況

有時,您會希望不同的情況使用相同的代碼,或者使用通用代碼。

這是一個操作順序switch語句的一個示例,其中四個不同的值執(zhí)行完全相同的操作:

var num = Number(document.querySelector("input").value);
var text;

switch (num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "你輸入的數(shù)字介于兩者之間 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "你輸入的數(shù)字介于兩者之間 5 - 8";
  break; 
   default: text = "執(zhí)行默認語句";
}
測試看看?/?

如果多個case與值匹配,則選擇第一個case。

如果找不到匹配的case,程序?qū)⒗^續(xù)使用默認標(biāo)簽。

如果未找到默認標(biāo)簽,則程序?qū)⒗^續(xù)執(zhí)行切換后的語句。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清