Label là gì?
Label là identifier theo sau : gắn cho statement/block. Dùng với break/continue để chỉ định vòng lặp mục tiêu (thường là nested loop).
Break với Label
<script>
document.write("Vao vong lap<br>");
outer: for (var i = 0; i < 5; i++) {
document.write("Outer: " + i + "<br>");
inner: for (var j = 0; j < 5; j++) {
if (j > 3) break; // thoát inner
if (i == 2) break inner; // thoát inner (tường minh)
if (i == 4) break outer; // thoát outer
document.write(" Inner: " + j + "<br>");
}
}
document.write("Thoat!<br>");
</script>
Continue với Label
<script>
document.write("Vao vong lap<br>");
outer: for (var i = 0; i < 3; i++) {
document.write("Outer: " + i + "<br>");
for (var j = 0; j < 5; j++) {
if (j == 3) continue outer; // bỏ qua j=3,4, sang i++
document.write(" Inner: " + j + "<br>");
}
}
document.write("Thoat!<br>");
</script>
Lưu ý
- Label không tạo block scope mới.
- Chỉ dùng với
break/continue– không thểgoto label(JS không có goto). - Ít gặp trong code hiện đại – ưu tiên refactor (tách hàm, dùng array methods).