Câu lệnh rẽ nhánh if..else trong Javascript

with Không có phản hồi

Trong lập trình, có rất nhiều trường hợp kiểu như khi thỏa mãn một điều kiện nào đó thì ta sẽ làm việc này ngược lại thì làm việc kia (hoặc không làm). Trong những trường hợp đó chúng ta cần dùng câu lệnh rẽ nhánh.

Lệnh if-else

Flow chart của if-else

cau-lenh-if-else
Flow chart của if-else

JavaScript hỗ trợ các dạng if-else sau:

  • if
  • if…else…
  • if…else if…

if

Cú pháp

if (expression) {
  statement1;
  statement2;
  ...
}

Nếu expression trả về là true thì các câu lệnh trong block {} sẽ được thực thi. Ngược lại, thì không có câu lệnh nào đc thực thi.

Ví dụ

<html>
  <body>
    <script type="text/javascript">
      var age = 20;
      if (age > 18) {
        document.write("<b>Qualifies for driving</b>");
      }
    </script>
  </body>
</html>

Kết quả

Qualifies for driving

if…else

Cú pháp

if (expression) {
  statement1;
  statement2;
  ...
} else {
  statement3;
  statement4;
  ...
}

Nếu expression trả về true thì những lệnh trong block {} của if sẽ được thực thi, ngược lại thì các lệnh trong block {} của else sẽ được thực thi.

Ví dụ

<html>
  <body>
    <script type="text/javascript">
      var age = 15;
      if (age > 18) {
        document.write("<b>Qualifies for driving</b>");
      } else {
        document.write("<b>Does not qualify for driving</b>");
      }
    </script>
  </body>
</html>

Kết quả

Does not qualify for driving

if…else if…

Cú pháp

if (expression 1) {
  statement;
  ...
} else if (expression 2) {
  statement;
  ...
} else {
  statment;
  ...
}

Flow như if…else, có phát triển thêm là nếu expression 1 trả về false thì sẽ tiếp tục xét điều kiện expression 2. Cú pháp ở trên chỉ là ví dụ, dĩ nhiên, chúng ta có thể mở rộng chuỗi else if tiếp tục, tùy theo nhu cầu lập trình của ta.

Ví dụ

<html>
  <body>
    <script type="text/javascript">
      var book = "maths";
      if (book == "history") {
        document.write("<b>History Book</b>");
      } else if (book == "maths") {
        document.write("<b>Maths Book</b>");
      } else if (book == "economics") {
        document.write("<b>Economics Book</b>");
      } else {
        document.write("<b>Unknown Book</b>");
      }
    </script>
  </body>
</html>

Kết quả

Maths Book

Thực tế, chương trình có thể yêu cầu rẽ nhánh nhiều hơn nữa tùy lúc đó chúng ta sẽ cân nhắc sử dụng switch case thay vì dùng if…else vì dùng quá nhiều if…else…if… sẽ làm chương trình rất dài, khó đọc.

>> Xem thêm: Toán tử luận lý và thao tác bit trong Javascript

>> Xem thêm: Javascript – Bài học làm quen (P1)

Leave a Reply