Lệnh Switch Case trong JavaScript

Bạn có thể sử dụng nhiều lệnh if...else…if như trong bài trước để thực hiện một nhánh nhiều lựa chọn. Tuy nhiên, nó luôn luôn không phải là giải pháp tốt nhất, đặc biệt khi tất các các nhánh phụ thuộc vào giá trị của một biến đơn.

Bắt đầu với JavaScript 1.2, bạn có thể sử dụng một lệnh switch để xử lý chính xác tình huống này, và nó thực sự hiệu quả hơn so với việc lặp đi lặp lại các lệnh if…else if.

Sơ đồ thực hiện

Sơ đồ sau giải thích lệnh switch-case làm việc:

Sơ đồ thực hiện

Cú pháp

Mục tiêu của một lệnh switch là cung cấp một biểu thức để ước lượng và một số lệnh khác nhau để thực thi trên cơ sở giá trị của biểu thức. Bộ thông dịch kiểm tra mỗi case – trường hợp với giá trị của biểu thức tới khi tìm thấy một sự so khớp. Nếu không có so khớp nào, một điều kiện default – mặc định sẽ được sử dụng.

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

Lệnh break chỉ dẫn phần cuối của mỗi trường hợp cụ thể. Nếu chúng bị bỏ quên, bộ thông dịch sẽ tiếp tục thực thi mỗi lệnh trong mỗi trường hợp sau.

Chúng ta sẽ bàn luận về lệnh break trong chương Điều khiển vòng lặp.

Ví dụ

Thử ví dụ sau để thực thi lệnh switch-case

<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>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Kết quả:

Entering switch block
Good job
Exiting switch block
Set the variable to different value and then try...

Các lệnh break đóng một vai trò quan trọng trong các lệnh switch-case. Bạn thử đoạn code sau sử dụng lệnh switch-case mà không có bất kỳ lệnh break nào.

<html>
   <body>
      
      <script type="text/javascript">
         <!--
            var grade='A';
            document.write("Entering switch block<br />");
            switch (grade)
            {
               case 'A': document.write("Good job<br />");
               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 />");
               default: document.write("Unknown grade<br />")
            }
            document.write("Exiting switch block");
         //-->
      </script>
      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

Kết quả:

Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block
Set the variable to different value and then try...

Theo Tutorialspoint

Bài trước: Lệnh if...else trong JavaScript

Bài tiếp: Vòng lặp while trong JavaScript

Thứ Bảy, 28/07/2018 16:46
4,84 👨 1.654
0 Bình luận
Sắp xếp theo
    ❖ JavaScript