switch 语句ของ JavaScript

การรับรองและการใช้งาน

switch 语句ปฏิบัติงานรหัสตามสถานการณ์ต่าง ๆ

switch 语句เป็นส่วนหนึ่งของ

คำว่า switch คำนวณประโยค จากนั้นเปรียบเทียบค่าประโยคกับค่าทุก case ในโครงสร้าง ถ้ามีการตรงกัน ก็จะปฏิบัติรหัสบล็อคที่เกี่ยวข้อง

คำว่า switch มักถูกใช้กับคำว่า break หรือ default หรือทั้งสอง (หรือไม่มีเลย) ซึ่งเป็นตัวเลือก

คำว่า break ใช้เพื่อออกจากบล็อค switch นี้。มันจะหยุดปฏิบัติรหัสในบล็อค และ/หรือ ทดสอบคนอื่น หากไม่มี break ในรหัส รหัสถูกปฏิบัติต่อไปในบล็อค switch

ถ้าไม่มี case ที่ตรงกัน ใช้คำว่า default ที่กำหนดในรหัสบล็อคที่ต้องการปฏิบัติ。คำว่า default ใน switch จะมีเพียงคำว่าเดียว แม้ว่ามันจะเป็นตัวเลือก แต่แนะนำให้ใช้มัน เพราะมันสามารถจัดการกับข้อผิดพลาดที่ไม่คาดคิด

实例

ปฏิบัติรหัสบล็อคตามข้อมูลที่ผู้ใช้ใส่

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Banana is good!";
    break;
  case "Orange":
    text = "I am not a fan of orange.";
    break;
  case "Apple":
    text = "How you like them apples?";
    break;
  default:
    text = "I have never heard of that fruit...";
}

亲自试一试

มีตัวอย่าง TIY มากมายด้านล่างหน้า

การใช้งาน

switch(expression) {
  case n:
    บล็อครหัส
    break;
  case n:
    บล็อครหัส
    break;
  default:
    บล็อครหัสปริมาณตามต้องการ
}

ค่าตัวแปร

ตัวแปร คำอธิบาย
expression จำเป็น。กำหนดข้อความที่ต้องการคำนวณ。ข้อความจะถูกคำนวณเดียวครั้งเดียว。ค่าของข้อความจะถูกเปรียบเทียบกับค่าของแบบแทน case ในโครงสร้าง。ถ้ามีการตรงกัน ก็จะปฏิบัติรหัสบล็อคที่เกี่ยวข้อง

รายละเอียดเทคนิค

เวอร์ชัน JavaScript: ECMAScript 1

ตัวอย่างเพิ่มเติม

实例

คำนวณ weekday รหัสของวันนี้เพื่อหาชื่อ weekday (อาทิตย์=0, จันทร์=1, อังคาร=2, ...):

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 = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Unknown Day";
}

亲自试一试

实例

如果今天既不是星期六也不是星期日,写一条默认消息:

var text;
switch (new Date().getDay()) {
  case 6:
    text = "Today is Saturday";
    break; 
  case 0:
    text = "Today is Sunday";
    break; 
  default: 
    text = "Looking forward to the Weekend";
}

亲自试一试

实例

有时您会希望不同的情况使用相同的代码,或者使用相同的默认值。

请注意,在本例中,case 共享相同的代码块,并且 default case 不必是 switch 块中的最后一个 case(但是,如果 default 不是 switch 块中的最后一个 case,请记住用 break 结束它)。

var text;
switch (new Date().getDay()) {
  case 1:
  case 2:
  case 3:
  default: 
    text = "Looking forward to the Weekend";
    break; 
  case 4:
  case 5:
    text = "Soon it is Weekend";
    break; 
  case 0:
  case 6:
    text = "It is Weekend";
}

亲自试一试

实例

根据来自提示框的用户输入,使用 switch 语句执行代码块:

var text;
var favDrink = prompt("What's your favorite cocktail drink?");
switch(favDrink) {
  case "Martini":
    text = "Excellent choice! Martini is good for your soul.";
    break;
  case "Daiquiri":
    text = "Daiquiri is my favorite too!";
    break;
  case "Cosmopolitan":
    text = "Really? Are you sure the Cosmopolitan is your favorite?";
    break;
  default:
    text = "I have never heard of that one..";
}

亲自试一试

浏览器支持

语句 Chrome IE Firefox Safari Opera
switch 支持 支持 支持 支持 支持

相关页面

คู่มือตัวอย่าง JavaScript:JavaScript If...Else 语句

คู่มือตัวอย่าง JavaScript:JavaScript คำสั่ง Switch

คู่มือสารคดี JavaScript:JavaScript คำสั่ง if/else

คู่มือสารคดี JavaScript:JavaScript คำสั่ง break