Javascript: Chuyển đổi giữa lệnh if else và switch
Cả hai lệnh if else và switch case đều có chung một tính chất là rẻ nhánh chương trình, vậy câu hỏi đặt ra là làm thế nào để chuyển đổi một bài toán từ lệnh if else sang switch case và ngược lại.
Bài giải
-------------------- ######## --------------------
Khi chuyển đổi giữa lệnh if else sang lệnh switch thì bạn cần phải lưu ý một điều như sau: Đối với lệnh switch nó sử dụng toán tử so sánh bằng, còn đối vớ lệnh if thì bạn có thể sử dụng các toán tử khác như toán tử so sánh lớn hơn, bé hơn, ... Vì vậy tùy vào mỗi bài toán mà bạn có thể chuyển đổi được hoặc không được.
Mình sẽ lấy ví dụ trong bài học này luôn đó là bài kiểm tra số chẵn hay lẻ, mình sẽ chuyển bài đó sang lệnh if else.
var number = parseInt(prompt("Nhập số cần kiểm tra")); var mod = (number % 2); switch (mod) { case 0 : { document.write(number + " là số chẵn"); break; } case 1: { document.write(number + " là số lẽ"); break; } default : { document.write("Ký tự bạn nhập không phải số"); } }
var number = parseInt(prompt("Nhập số cần kiểm tra")); var mod = (number % 2); if (mod == 0){ document.write(number + " là số chẵn"); } else if (mod == 1){ document.write(number + " là số lẽ"); } else{ document.write("Ký tự bạn nhập không phải số"); }
Một ví dụ ta không nên chuyển sang switch case.
// Ứng dụng xếp hạng điểm thi var point = parseInt(prompt('Nhập số điểm thi bạn muốn kiểm tra', '0')); var message = ''; if (point < 5 && point >= 0){ message = 'Bạn đã bị rớt môn'; } else if (point >= 5 && point <= 6){ message = "Bạn là học sinh trung bình"; } else if (point > 6 && point < 8){ message = "Bạn là học sinh khá"; } else if (point >= 8 && point <= 10){ message = "Bạn là học sinh giỏi"; } else{ message = "Bạn nhập điểm bị sai"; } document.write(message);
Với bài toán này ta không thể chuyển sang lệnh switch case vì nội dung so sánh là một biểu thức, nếu bạn cố tình muốn chuyển thì cũng được nhưng code sẽ rất là dài vì bạn phải so sánh từng con số từ 0 - 10.
Bài viết này được đăng tại [free tuts .net]
Câu hỏi thường gặp liên quan:
- Javascript: Tìm thứ trong tuần của ngày hiện tại
- Javascript: Tìm tên các loại trái cây trong kho hàng
- Javascript: Chuyển đổi giữa lệnh if else và switch