ECMAScript switch 語(yǔ)句

2018-09-21 15:15 更新

switch 語(yǔ)句

switch 語(yǔ)句是 if 語(yǔ)句的兄弟語(yǔ)句。

開(kāi)發(fā)者可以用 switch 語(yǔ)句為表達(dá)式提供一系列的情況(case)。

switch 語(yǔ)句的語(yǔ)法:

switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

每個(gè)情況(case)都是表示“如果 expression 等于 value,就執(zhí)行 statement”。

關(guān)鍵字 break 會(huì)使代碼跳出 switch 語(yǔ)句。如果沒(méi)有關(guān)鍵字 break,代碼執(zhí)行就會(huì)繼續(xù)進(jìn)入下一個(gè) case。

關(guān)鍵字 default 說(shuō)明了表達(dá)式的結(jié)果不等于任何一種情況時(shí)的操作(事實(shí)上,它相對(duì)于 else 從句)。

switch 語(yǔ)句主要是為避免讓開(kāi)發(fā)者編寫(xiě)下面的代碼:

if (i == 20)
  alert("20");
else if (i == 30)
  alert("30");
else if (i == 40)
  alert("40");
else
  alert("other");

等價(jià)的 switch 語(yǔ)句是這樣的:

switch (i) {
  case 20: alert("20");
    break;
  case 30: alert("30");
    break;
  case 40: alert("40");
    break;
  default: alert("other");
}

ECMAScript 和 Java 中的 switch 語(yǔ)句

ECMAScript 和 Java 中的 switch 語(yǔ)句有兩點(diǎn)不同。在 ECMAScript 中,switch 語(yǔ)句可以用于字符串,而且能用不是常量的值說(shuō)明情況:

var BLUE = "blue", RED = "red", GREEN  = "green";

switch (sColor) {
  case BLUE: alert("Blue");
    break;
  case RED: alert("Red");
    break;
  case GREEN: alert("Green");
    break;
  default: alert("Other");
}

這里,switch 語(yǔ)句用于字符串 sColor,聲明 case 使用的是變量 BLUE、RED 和 GREEN,這在 ECMAScript 中是完全有效的。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)