Câu lệnh rẽ nhánh switch..case trong Javascript

Như đã trình bày trong câu lệnh if..else, chúng ta có thể dùng nhiều if…else if để phân nhánh chương trình. Tuy nhiên dùng quá nhiều if…else if sẽ làm chương trình rất dài, khó đọc. Để khắc phục điều này, chúng ta sẽ sử dụng switch-case.

Flowchart của switch-case

cau-lenh-re-nhhanh

Flowchart của switch-case

Cú pháp

switch (expression) {
  case condition 1:
    statement(s);
    break;
  case condition 2:
    statement(s);
    break;
  ...
  case condition n:
    statement(s);
    break;
  default:
    statement(s);
}

Kiểm tra kết quả của expression, nếu kết quả thỏa điều kiện của condition 1 (tương đương với so sánh ===) thì thực hiện những câu lệnh dưới case condition 1 và tương tự. Nếu không thỏa được điều kiện nào thì thực hiện những câu lệnh trong default. Câu lệnh break được sử dụng để báo thoát khỏi switch.

Ví dụ

<html>
  <body>
    <script type="text/javascript">
      var grade="A";
      document.write("Entering switch block<br />");
      switch (grade) {
          case "A":
            document.write("Good job<br />");
            break;
          case "B":
            document.write("Pretty good<br />");
            break;
          case "C":
            document.write("Passed<br />");
            break;
          case "D":
            document.write("Not so good<br />");
            break;
          case "F":
            document.write("Failed<br />");
            break;
          default:
            document.write("Unknown grade<br />");
      }
      document.write("Exiting switch block");
    </script>
  </body>
</html>

Kết quả

Entering switch block
Good job
Exiting switch block

Câu lệnh break đóng vai trò cực kỳ quan trọng trong switch-case. Giờ thử bỏ break vài chỗ coi chuyện gì xảy ra nha.

<html>
  <body>
    <script type="text/javascript">
      var grade="B";
      document.write("Entering switch block<br />");
      switch (grade) {
          case "A":
            document.write("Good job<br />");
            break;
          case "B":
            document.write("Pretty good<br />");
          case "C":
            document.write("Passed<br />");
          case "D":
            document.write("Not so good<br />");
          case "F":
            document.write("Failed<br />");
            break;
          default:
            document.write("Unknown grade<br />")
      }
      document.write("Exiting switch block");
    </script>
  </body>
</html>

Kết quả

Entering switch block
Pretty good
Passed
Not so good
Failed
Exiting switch block

Trong bài viết về vòng lặp sắp tới, chúng ta sẽ tìm hiểu chi tiết về công dụng của câu lệnh break nha mọi người. Cảm ơn mọi người đã theo dõi huynhtin.com.

>> Xem thêm: Câu lệnh rẽ nhánh if else trong Javascript

>> Xem thêm: Toán tử gán và toán tử điều kiện trong Javascript

No Responses

Bình luận