Matukio ya Switch ya JavaScript

switch 语句用于基于不同条件执行不同动作。

Matukio ya Switch ya JavaScript

请使用 switch 语句来选择多个需被执行的代码块之一。

Muungano wa lugha

switch(表达式) {
     case n:
        代码块
        kufungua;
     case n:
        代码块
        kufungua;
     default:
        默认代码块
} 

代码解释:

  • 计算一次 switch 表达式
  • 把表达式的值与每个 case 的值进行对比
  • 如果存在匹配,则执行关联代码

Mifano

getDay() 方法返回 0 至 6 之间的周名数字(weekday number)。

(Sunday=0, Monday=1, Tuesday=2 ..)

本例使用周名数字来计算周的名称:

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

结果将是:


Tafadhali tukufanya kwa kuzungumza

break 关键词

如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块。

此举将停止代码块中更多代码的执行以及 case 测试。

如果找到匹配,并完成任务,则随机中断执行(break)。无需更多测试。

break 能够节省大量执行时间,因为它会“忽略” switch 代码块中的其他代码的执行。

不必中断 switch 代码块中的最后一个 case。代码块在此处会自然结束。

default 关键词

default 关键词规定不存在 case 匹配时所运行的代码:

Mifano

getDay() 方法返回 0 至 6 的数字周名。

如果今日既不是周六(6)也不是周日(0),则输出一段默认消息:

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

text 的结果是:


Tafadhali tukufanya kwa kuzungumza

默认的 case 不必是 switch 代码块中最后一个 case:

Mifano

switch (new Date().getDay()) {
    default: 
        text = "Kuagiza siku ya jumapili!";
         kufungua;
    case 6:
        text = "今天是周六";
        kufungua; 
    case 0:
        text = "今天是周日";
} 

Tafadhali tukufanya kwa kuzungumza

如果 default 不是 switch 代码块中最后一个 case,请记得用 break 结束默认 case。

常见的代码块

有时您会需要不同的 case 来使用相同的代码。

Kwenye matokeo hii, case 4 na 5 niashiriki kipengele cha kipengele cha switch hasa 0 na 6 niashiriki kipengele cha kipengele cha mwingine:

Mifano

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "Jumapili huzingatia:)";
        kufungua; 
    case 0:
    case 6:
        text = "Leo ni siku ya jumapili~";
         kufungua;
    default: 
        text = "Kuagiza siku ya jumapili!";
} 

Tafadhali tukufanya kwa kuzungumza

Mifungo wa kipengele cha Switching

Ikiwa kuna zaidi ya moja ya kiwango cha case kilichotumika, inahitaji kiwango cha kwanza.

Ikiwa hakuna kiwango cha case kilichotumika, programu itakaa kumfuata label ya kawaida.

Ikiwa hakuna label ya kawaida iliyotumika, programu itakaa kumfuata switch.

Tathmini ya kina

Switch case ina tathmini ya kina (===)

Thamani lazima iwe na aina inayotumika.

Tathmini ya kina inaweza kuwa kweli kwa hatua inayopatikana ina angalaua kama moja ya aina moja.

Kwenye mifano hii, x hakina kumtambulika:

Mifano

var x = "0";
switch (x) {
  case 0:
    text = "Off";
    kufungua;
  case 1:
    text = "On";
    kufungua;
  default:
    text = "Hakuna thamani ya kufaa";
}

Tafadhali tukufanya kwa kuzungumza

Kitabu cha kwanza

Kwa mafanikio ya ziada kuhusu Matukio ya Switch ya JavaScriptMafano ya thamani, tafadhali sasa mifano ya mafunzo ya juu ya JavaScript:

Inayotumia ECMAScript switch statement
Switch statement ina wengine wa if statement. Lebo hii inaonyesha matumizi ya switch statement na tofauti ya switch statement katika Java.