หลาย Case สามารถรวมรัน Code Block เดียวกันได้ โดยไม่ใส่ break ระหว่าง Case (Fall-through)
ตัวอย่าง
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Switch Common Blocks</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.result { font-size: 20px; font-weight: 500; }
</style>
</head>
<body>
<h1>JavaScript Switch Statement</h1>
Enter day 1-7 <input type="text" class="day" />
<button class="Btn">CHECK</button>
<div style="color: green;" class="result"></div>
<h3> Click to check which day it is </h3>
<script>
let dayVal = document.querySelector(".day");
let resEle = document.querySelector(".result");
document.querySelector(".Btn").addEventListener("click", () => {
switch (parseInt(dayVal.value)) { // แปลงเป็น Number ก่อน
case 1: resEle.innerHTML = "It's monday"; break;
case 2: resEle.innerHTML = "It's tuesday"; break;
case 3: resEle.innerHTML = "It's wednesday"; break;
case 4: resEle.innerHTML = "It's thursday"; break;
case 5: resEle.innerHTML = "It's friday"; break;
case 6: resEle.innerHTML = "It's saturday"; break;
case 7: resEle.innerHTML = "It's sunday"; break;
default: resEle.innerHTML = "Enter a value between 1 - 7"; break;
}
});
</script>
</body>
</html>
Common Code Blocks (Fall-through)
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
console.log("Weekday");
break;
case 6:
case 7:
console.log("Weekend");
break;
default:
console.log("Invalid");
}
คำอธิบาย
- Case 1-5 ไม่มี break → รันร่วมกัน (Fall-through)
- ใช้
parseInt()แปลง Input String เป็น Number เพื่อ Match กับ Case Number - มี
breakทุก Case ป้องกัน Fall-through ที่ไม่ต้องการ
ผลลัพธ์
ใส่ 1-5 → "Weekday" | ใส่ 6-7 → "Weekend" | อื่นๆ → "Invalid"