คำสั่ง break ใช้เพื่อ ออกจากลูป (loop) หรือ switch statement ทันที การทำงานจะกระโดดไปยังคำสั่งถัดไปหลังบล็อกที่ถูก break
การทำงาน
- ในลูป (
for,while,do-while): หยุดลูปทันที ไม่ทำ iteration ที่เหลือ - ใน
switch: ออกจาก switch block ทันที ป้องกัน fall-through - ไม่สามารถใช้ กับ
if,function, หรือบล็อกทั่วไปได้
ตัวอย่าง: break ใน while loop
<html>
<body>
<script>
var x = 1;
document.write("Entering the loop<br/>");
while (x < 20) {
if (x == 5) {
break; // ออกจากลูปทันทีเมื่อ x == 5
}
x = x + 1;
document.write(x + "<br/>");
}
document.write("Exiting the loop!<br/>");
</script>
</body>
</html>
ผลลัพธ์
Entering the loop 2 3 4 5 Exiting the loop!
สังเกตว่า: เริ่มที่ 1, เพิ่มเป็น 2 แล้วพิมพ์ จนถึง 5 แล้ว break (ไม่พิมพ์ 6-20)
ตัวอย่าง: break ใน for loop
for (var i = 0; i < 10; i++) {
if (i === 5) break;
console.log(i); // 0,1,2,3,4
}
break กับ Nested Loops (ลูปซ้อน)
break ปกติจะออกจากลูปในชั้นสุดในสุด (innermost) เท่านั้น หากต้องการออกจากลูปชั้นนอก ให้ใช้ Label Statement (ดูรายละเอียดในบทความ Labels)
outer: for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
if (j === 1) break outer; // ออกจากลูป outer ทั้งหมด
console.log(i, j);
}
}
// ผลลัพธ์: (0,0) เท่านั้น
ข้อควรระวัง
- ใช้ break ใน switch ทุก case (ยกเว้นจะต้องการ fall-through ขึ้นใจ)
- โค้ดหลัง break ในบล็อกเดียวกันจะไม่ทำงาน (Unreachable code)
- ใช้ Label อย่างระมัดระวัง อาจทำให้โค้ดยากต่อการติดตาม