Câu lệnh switch ECMAScript

Câu lệnh switch

Câu lệnh switch là câu lệnh anh em của câu lệnh if.

Nhà phát triển có thể sử dụng câu lệnh switch để cung cấp một loạt các trường hợp (case) cho biểu thức.

Cú pháp của câu lệnh switch:

switch (biểu thức)
  case giá trị: bài phát biểu;
    break;
  case giá trị: bài phát biểu;
    break;
  case giá trị: bài phát biểu;
    break;
  case giá trị: bài phát biểu;
    break;
...
  case giá trị: bài phát biểu;
    break;
  default: bài phát biểu;

Mỗi trường hợp (case) đều biểu thị “nếu biểu thức bằng giá trịthực hiện bài phát biểu

Từ khóa break sẽ làm cho mã thoát ra khỏi câu lệnh switch. Nếu không có từ khóa break, mã sẽ tiếp tục thực thi vào case tiếp theo.

Từ khóa default chỉ ra hành động khi kết quả của biểu thức không bằng bất kỳ trường hợp nào (thực tế là nó tương đương với từ ngữ else).

Câu lệnh switch chủ yếu được sử dụng để tránh việc yêu cầu nhà phát triển viết mã sau:

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

Câu lệnh switch tương đương như sau:

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

Câu lệnh switch trong ECMAScript và Java

Câu lệnh switch trong ECMAScript và Java có hai điểm khác biệt. Trong ECMAScript, câu lệnh switch có thể được sử dụng cho chuỗi, và có thể sử dụng giá trị không phải là hằng số để chỉ định trường hợp:

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

Ở đây, câu lệnh switch được sử dụng cho chuỗi sColor, case sử dụng biến BLUE, RED và GREEN是完全有效的 trong ECMAScript.