Categories JavaScript

Lệnh switch trong JavaScript

Lệnh switch thực thi các hành động khác nhau dựa trên các điều kiện khác nhau.


Lệnh switch trong JavaScript

Sử dụng lệnh switch để chọn một trong các khối code để thực thi.

Cú pháp

switch (biểu thức) {
 case n:
         code block
break;
 case n:
         code block
break;
 default:
khối code mặc định
 }

Dưới đây trình bày cách câu lệnh làm việc:

  • Biểu thức switch được đánh giá một lần.
  • Giá trị của biểu thức được so sánh với giá trị của mỗi trường hợp (case).
  • Nếu chúng khớp với nhau, khối mã liên kết được thực thi.

Ví dụ

Phương thức getDay() trả về các ngày trong tuần về một số từ 0 và 6 (Chủ nhật = 0, thứ hai = 1, thứ ba = 2…)

Bây giờ chúng ta sẽ lấy các con số này để suy ngược lại tên của ngày trong tuần theo thứ:

switch (new Date().getDay()) {
 case 0:
 day = "Chủ nhật";
 break;
 case 1:
 day = "Thứ hai";
 break;
 case 2:
 day = "Thứ ba";
 break;
 case 3:
 day = "Thứ tư";
 break;
 case 4:
 day = "Thứ năm";
 break;
 case 5:
 day = "Thứ sáu";
 break;
 case 6:
 day = "Thứ bảy";
 }

Từ khoá break

Khi JavaScript phân tích đến từ khoá break, nó bẻ khỏi khối switch.

Nó sẽ dừng thực thi thêm code và các trường hợp case bên trong khối.

Khi trường hợp phù hợp được tìm thấy, và công việc hoàn thành, đây là lúc cho break. Không cần thực hiện thêm kiểm tra nữa.

Không cần thiết thêm break vào case cuối cùng trong khối switch. Vì tới cuối thì mặc định là nó sẽ bẻ rồi.


Từ khoá default

Từ khoá default chỉ định đoạn code sẽ được chạy nếu không trường hợp nào được tìm thấy phù hợp:

Ví dụ

Phương thức getDay() trả về kết quả ngày trong tuần là một số từ 0 và 6.

Nếu ngày hôm nay không phải là thứ bảy (6) hay chủ nhật (0), thông điệp mặc định sẽ được viết ra:

switch (new Date().getDay()) {
case 6:
text = "Hôm nay là thứ bảy";
break;
case 0:
text = "Hôm nay là chủ nhật";
break;
default:
text = "Nhưng ngày làm việc, bạn cần đợi một thời gian mới đến cuối tuần";
}

Các kiểu viết code khác

Đôi khi, trong một khối switch, bạn sẽ muốn các trường hợp khác nhau xử lý chung code hoặc là đi thẳng đến default.

Lưu ý về ví dụ sắp tới, các trường hợp (case) có thể chia sẻ chung khối code, và default có thể không phải là trường hợp cuối cùng trong khối switch:

Ví dụ

switch (new Date().getDay()) {
 case 1:
 case 2:
 case 3:
 default:
 text = "Ngày làm việc, hãy tập trung!";
 break;
 case 4:
 case 5:
 text = "Sắp đến cuối tuần";
 break;
 case 0:
 case 6:
 text = "Đây là ngày cuối tuần rồi!";
 }

Nếu default không phải là trường hợp cuối cùng trong khối switch, nhớ kết thúc nó với break.

Back to Top