Tác giả NIIT - ICT HANOI
Ngày đăng 15/ 01/ 2020
Bình luận 0 Bình luận
Hướng dẫn sử dụng Switch ... Case trong JavaScript
Trong bài Hướng dẫn tự học JavaScript này bạn sẽ được học về cấu trúc điều khiển SWITCH ... CASE.
Câu lệnh switch ... case là một sự thay thế cho câu lệnh if...else if... else.
Switch...case kiểm tra một biến hoặc một biểu thức với một loạt các giá trị cho đến khi tìm được giá trị phù hợp.
Câu lệnh switch...case trong Javascript được viết như sau:
switch (x){
case value1:
// Code thực hiện nếu x === value1
break;
case value2:
// Code thực hiện nếu x === value2
...
default:
// Code thực thi nếu không có giá trị nào khớp
}
Để hiểu cách sử dụng switch...case trong Javascript, chúng ta cùng thực hiện một ví dụ sau:
Ví dụ hiển thị tên của thứ trong một tuần.
var d = new Date();
switch(d.getDay()) {
case 0:
alert("Hôm nay là Chủ nhật.");
break;
case 1:
alert("Hôm nay là Thứ Hai.");
break;
case 2:
alert("Hôm nay là Thứ Ba.");
break;
case 3:
alert("Hôm nay là Thứ Tư.");
break;
case 4:
alert("Hôm nay là Thứ Năm.");
break;
case 5:
alert("Hôm nay là Thứ Sáu.");
break;
case 6:
alert("Hôm nay là Thứ Bảy.");
break;
default:
alert("Không có thông tin gì.");
break;
}
Phương thức getDay() trả về ngày trong tuần dưới dạng số từ 0 đến 6, trong đó 0 đại diện cho Chủ nhật, 1 đại diện cho Thứ Hai, ...
Lưu ý:
Trong một câu lệnh switch ... case, giá trị của biểu thức hoặc biến được so sánh với giá trị của từng case bằng cách sử dụng toán tử đẳng thức nghiêm ngặt (===), so sánh bằng cả về kiểu dữ liệu. Điều đó có nghĩa là nếu x = "0", nó không khớp với case 0: , bởi vì kiểu dữ liệu của chúng không bằng nhau.
Câu lệnh switch ... case khác với câu lệnh if ... else.
Câu lệnh switch thực thi từng dòng (tức là câu lệnh bằng câu lệnh) và một khi JavaScript tìm thấy một mệnh đề case được đánh giá là true, nó không chỉ thực thi code tương ứng với case đó, mà còn thực thi tất cả các mệnh đề case tiếp theo.
Để ngăn chặn điều này, bạn phải thêm lệnh break sau mỗi trường case (như bạn có thể thấy trong ví dụ trên).
Câu lệnh break báo cho trình thông dịch JavaScript thoát ra khỏi khối lệnh switch...case một khi đã thực thi case đúng.
Tuy nhiên, câu lệnh break không cần thiết cho trường hợp default, khi nó xuất hiện cuối cùng trong câu lệnh switch.
Mặc dù, đó là một cách làm tốt để chấm dứt case cuối cùng hoặc mệnh đề default trong câu lệnh switch.
Nó sẽ ngăn một lỗi lập trình có thể xảy ra sau này nếu một câu lệnh case khác được thêm vào trong câu lệnh switch.
Mệnh đề default là tùy chọn, nếu không có case nào đúng thì nó sẽ thực thi code trong mệnh đề default.
Mệnh đề default không phải là câu lệnh cuối cùng trong switch...case.
Đây là một ví dụ:
var d = new Date();
switch(d.getDay()) {
default:
alert("Đếm ngày chờ Chủ Nhật.");
break;
case 6:
alert("Hôm nay là Thứ Bảy.");
break;
case 0:
alert("Hôm nay là Chủ Nhật.");
}
Mỗi giá trị case phải là duy nhất trong một câu lệnh switch.
Tuy nhiên, các case khác nhau có thể không cần một hành động nào.
Và một số case có thể chia sẻ cùng một hành động, như được hiển thị ở đây:
var d = new Date();
switch(d.getDay()) {
case 1:
case 2:
case 3:
case 4:
case 5:
alert("Đi làm bình thường.");
break;
case 0:
case 6:
alert("Cuối tuần.");
break;
default:
alert("Hãy sống như thể hôm nay là ngày cuối cùng của cuộc đời bạn!");
}
Lưu ý:
Bạn có thể thêm bao nhiêu case tùy thích trong câu lệnh switch... case
Hãy thử làm lại ví dụ switch... case trong hướng dẫn tự học Javascript ở bên trên.
Nếu có bất kỳ vấn đề nào không hiểu trong khi sử dụng switch ... case trong JS thì hãy để lại comment bên dưới. Mình sẽ trả lời cho bạn!
Chúc bạn học Javascript hiệu quả!