10.1 Toán tử break
Các toán tử break và continue được sử dụng để quản lý luồng thực thi của vòng lặp trong JavaScript. Chúng cho phép ngắt thực thi vòng lặp ngay lập tức hoặc chuyển sang vòng lặp kế tiếp, tương ứng.
Toán tử break
Toán tử break được sử dụng để thoát khỏi vòng lặp ngay lập tức. Khi break được gặp trong thân vòng lặp, việc thực thi vòng lặp dừng lại, và quyền điều khiển được chuyển tới khối mã tiếp theo sau vòng lặp.
Cú pháp:
break;
Dừng vòng lặp for:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // Dừng vòng lặp khi i = 5
}
console.log(i);
}
// Kết quả: 0 1 2 3 4
10.2 Toán tử continue
Toán tử continue được sử dụng để bỏ qua lần lặp hiện tại của vòng lặp và chuyển sang lần lặp kế tiếp. Không giống như toán tử break, continue không kết thúc toàn bộ vòng lặp, mà chỉ bỏ qua lần lặp hiện tại.
Cú pháp:
continue;
Bỏ qua lần lặp trong vòng lặp for:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue; // Bỏ qua lần lặp hiện tại nếu i chẵn
}
console.log(i);
}
// Kết quả: 1 3 5 7 9
Bỏ qua lần lặp trong vòng lặp while:
let i = 0;
while (i < 10) {
i++;
if (i % 2 === 0) {
continue; // Bỏ qua lần lặp hiện tại nếu i chẵn
}
console.log(i);
}
// Kết quả: 1 3 5 7 9
10.3 So sánh toán tử break và continue
| Toán tử | Mô tả | Ví dụ sử dụng |
|---|---|---|
| break | Ngắt thực thi vòng lặp hiện tại ngay lập tức | Thoát khỏi vòng lặp khi điều kiện được thỏa mãn |
| continue | Bỏ qua lần lặp hiện tại của vòng lặp và chuyển sang lần lặp tiếp theo | Bỏ qua lần lặp vòng lặp khi điều kiện được thỏa mãn |
Các toán tử break và continue là công cụ mạnh mẽ để quản lý luồng thực thi của vòng lặp trong JavaScript. break được sử dụng để kết thúc vòng lặp ngay lập tức, trong khi continue bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo. Sử dụng đúng cách các toán tử này cho phép tạo ra mã linh hoạt hơn và hiệu quả hơn, dễ hiểu và bảo trì.
10.4 Sử dụng break và continue trong vòng lặp lồng nhau
Vòng lặp lồng nhau là các vòng lặp nằm trong các vòng lặp khác. Các toán tử break và continue có thể được sử dụng trong các cấu trúc như vậy để quản lý luồng thực thi của cả vòng lặp bên ngoài và bên trong.
Ví dụ với break trong vòng lặp lồng nhau:
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break; // thoát khỏi vòng lặp bên trong
}
console.log(`i = ${i}, j = ${j}`);
}
}
// Kết quả:
// i = 0, j = 0
// i = 0, j = 1
// i = 0, j = 2
// i = 1, j = 0
// i = 2, j = 0
// i = 2, j = 1
// i = 2, j = 2
Ví dụ với continue trong vòng lặp lồng nhau:
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
continue; // bỏ qua lần lặp của vòng lặp bên trong
}
console.log(`i = ${i}, j = ${j}`);
}
}
// Kết quả:
// i = 0, j = 0
// i = 0, j = 1
// i = 0, j = 2
// i = 1, j = 0
// i = 1, j = 2
// i = 2, j = 0
// i = 2, j = 1
// i = 2, j = 2
GO TO FULL VERSION