JavaScript Switch 語句

javascript switch 語句

switch 語句用于基于不同條件執(zhí)行不同動作。

 

1. javascript switch 語句

請使用 switch 語句來選擇多個需被執(zhí)行的代碼塊之一。

語法

switch(表達式) {
     case n:
        代碼塊
        break;
     case n:
        代碼塊
        break;
     default:
        默認代碼塊
} 

代碼解釋:

  • 計算一次 switch 表達式
  • 把表達式的值與每個 case 的值進行對比
  • 如果存在匹配,則執(zhí)行關(guān)聯(lián)代碼

范例

getday() 方法返回 0 至 6 之間的周名數(shù)字(weekday number)。

(sunday=0, monday=1, tuesday=2 ..)

本例使用周名數(shù)字來計算周的名稱:

switch (new date().getday()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
} 

結(jié)果將是:


var day;
switch (new date().getday()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
        break;
    case 2:
        day = "星期二";
        break;
    case 3:
        day = "星期三";
        break;
    case 4:
        day = "星期四";
        break;
    case 5:
        day = "星期五";
        break;
    case  6:
        day = "星期六";
}
document.getelementbyid("demo1").innerhtml = "今天是" + day;

 

2. break 關(guān)鍵詞

如果 javascript 遇到 break 關(guān)鍵詞,它會跳出 switch 代碼塊。

此舉將停止代碼塊中更多代碼的執(zhí)行以及 case 測試。

如果找到匹配,并完成任務,則隨機中斷執(zhí)行(break)。無需更多測試。

break 能夠節(jié)省大量執(zhí)行時間,因為它會“忽略” switch 代碼塊中的其他代碼的執(zhí)行。

不必中斷 switch 代碼塊中的最后一個 case。代碼塊在此處會自然結(jié)束。

 

3. default 關(guān)鍵詞

default 關(guān)鍵詞規(guī)定不存在 case 匹配時所運行的代碼:

范例

getday() 方法返回 0 至 6 的數(shù)字周名。

如果今日既不是周六(6)也不是周日(0),則輸出一段默認消息:

switch (new date().getday()) {
    case 6:
        text = "今天是周六";
        break; 
    case 0:
        text = "今天是周日";
        break; 
    default: 
        text = "期待周末~";
} 

text 的結(jié)果是:


switch (new date().getday()) {
    case 6:
        text = "今天是周六";
        break; 
    case 0:
        text = "今天是周日";
        break; 
    default: 
        text = "期待周末~";
}
document.getelementbyid("demo2").innerhtml = text;

默認的 case 不必是 switch 代碼塊中最后一個 case:

范例

switch (new date().getday()) {
    default: 
        text = "期待周末!";
         break;
    case 6:
        text = "今天是周六";
        break; 
    case 0:
        text = "今天是周日";
} 

如果 default 不是 switch 代碼塊中最后一個 case,請記得用 break 結(jié)束默認 case。

 

4. 常見的代碼塊

有時您會需要不同的 case 來使用相同的代碼。

在本例中,case 4 和 5 分享相同的代碼塊,而 0 和 6 分享另一段代碼塊:

范例

switch (new date().getday()) {
    case 4:
    case 5:
        text = "周末快到了:)";
        break; 
    case 0:
    case 6:
        text = "今天是周末~";
         break;
    default: 
        text = "期待周末!";
} 

 

5. switching 的細節(jié)

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

如果未找到匹配的 case,程序?qū)⒗^續(xù)使用默認 label。

如果未找到默認 label,程序?qū)⒗^續(xù) switch 后的語句。

 

6. 嚴格的比較

switch case 使用嚴格比較(===)。

值必須與要匹配的類型相同。

只有操作數(shù)屬于同一類型時,嚴格比較才能為 true。

在這個例子中,x 將不匹配:

范例

var x = "0";
switch (x) {
  case 0:
    text = "off";
    break;
  case 1:
    text = "on";
    break;
  default:
    text = "no value found";
}

下一節(jié):js for 循環(huán)

js 教程

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频