Câu lệnh switch trong JavaScript

Định nghĩa và cách sử dụng

Câu lệnh switch là một phần của câu lệnh

Câu lệnh switch tính toán biểu thức. Sau đó, giá trị của biểu thức sẽ được so sánh với giá trị của mỗi case trong cấu trúc. Nếu khớp, sẽ thực hiện khối mã liên quan.

Câu lệnh switch thường được sử dụng cùng với từ khóa break hoặc default (hoặc cả hai). Chúng đều là tùy chọn:

Từ khóa break thoát khỏi khối switch. Điều này sẽ dừng việc thực hiện thêm mã và/hoặc kiểm tra các trường hợp trong khối. Nếu bỏ qua break, sẽ thực hiện khối mã tiếp theo trong câu lệnh switch.

Nếu không có case khớp, từ khóa default sẽ chỉ định một số mã cần chạy. Một switch chỉ có thể có một từ khóa default. Mặc dù nó là tùy chọn, nhưng được khuyến nghị sử dụng nó vì nó có thể xử lý các tình huống bất ngờ.

Mẫu

Thực hiện khối mã dựa trên đầu vào của người dùng:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Quả chuối rất ngon!";
    break;
  case "Orange":
    text = "Tôi không phải là người hâm mộ quả cam.";
    break;
  case "Apple":
    text = "Bạn thích những quả táo như thế nào?";
    break;
  default:
    text = "Tôi chưa từng nghe về loại quả đó...";
}

Thử ngay

Có thêm các ví dụ TIY ở dưới trang.

Cú pháp

switch(expression) {
  case n:
    Khối mã
    break;
  case n:
    Khối mã
    break;
  default:
    Khối mã mặc định
}

Giá trị tham số

Tham số Mô tả
expression Bắt buộc. Đ指定 cần tính toán biểu thức. Biểu thức sẽ được tính toán một lần. Giá trị của biểu thức sẽ được so sánh với giá trị của mỗi thẻ case trong cấu trúc. Nếu khớp, sẽ thực hiện khối mã liên quan.

Chi tiết kỹ thuật

Phiên bản JavaScript: ECMAScript 1

Các ví dụ thêm

Mẫu

Sử dụng mã weekday của ngày hôm nay để tính tên weekday (Chủ nhật=0, Thứ hai=1, Thứ hai=2, ...):

var day;
switch (new Date().getDay()) {
  case 0:
    day = "Chủ nhật";
    break;
  case 1:
    day = "Chủ nhật";
    break;
  case 2:
    day = "Thứ hai";
    break;
  case 3:
    day = "Thứ ba";
    break;
  case 4:
    day = "Thứ tư";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Unknown Day";
}

Thử ngay

Mẫu

Nếu ngày hôm nay không phải là thứ sáu hay Chủ nhật, viết một thông điệp mặc định:

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";
}

Thử ngay

Mẫu

Đôi khi bạn có thể muốn các tình huống khác nhau sử dụng cùng một mã, hoặc sử dụng cùng một giá trị mặc định.

Lưu ý rằng trong ví dụ này, các case chia sẻ cùng một khối mã, và case mặc định không nhất thiết phải là case cuối cùng trong khối switch (nhưng nếu default không phải là case cuối cùng trong khối switch, hãy nhớ sử dụng break để kết thúc nó).

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";
}

Thử ngay

Mẫu

Dựa trên đầu vào từ hộp thoại提示框提示 của người dùng, thực hiện mã khối bằng câu lệnh switch:

var text;
var favDrink = prompt("Thức uống cocktail yêu thích của bạn là gì? ");
switch(favDrink) {
  case "Martini":
    text = "Lựa chọn xuất sắc! Martini rất tốt cho tâm hồn của bạn.";
    break;
  case "Daiquiri":
    text = "Daiquiri cũng là thức uống yêu thích của tôi!";
    break;
  case "Cosmopolitan":
    text = "Thật sao? Bạn có chắc Cosmopolitan là thức uống yêu thích của bạn không?";
    break;
  default:
    text = "Tôi chưa từng nghe đến một trong số đó...";
}

Thử ngay

Hỗ trợ trình duyệt

câu lệnh Chrome IE Firefox Safari Opera
switch Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ

Trang liên quan

Giáo trình JavaScript:JavaScript If...Else câu lệnh

Giáo trình JavaScript:Câu lệnh Switch của JavaScript

Tài liệu tham khảo JavaScript:Câu lệnh if/else của JavaScript

Tài liệu tham khảo JavaScript:Câu lệnh break của JavaScript