JavaScript cơ bản – Bài 07: Vòng lặp for, while, break và continue
- 17-10-2026
- Toanngo92
- 0 Comments
Loạt bài JavaScript cơ bản · Bài 07/18 — Mục lục học tập
Để tính tổng từ 1 đến 100, bạn không cần viết 100 phép cộng riêng. Vòng lặp thực hiện một khối mã nhiều lần và cập nhật trạng thái sau mỗi lượt. Mục tiêu là xác định đúng điểm bắt đầu, điều kiện tiếp tục và bước thay đổi.
Mục lục
Cấu trúc for
for (let i = 1; i <= 5; i++) {
console.log("Lượt", i);
}let i = 1 chạy một lần lúc bắt đầu. Trước mỗi lượt, trình duyệt kiểm tra i <= 5. Sau khi khối mã chạy xong, i++ tăng biến lên một đơn vị. Ví dụ in các số từ 1 đến 5; khi i thành 6, điều kiện sai và vòng lặp dừng.
Tích lũy kết quả
let total = 0;
for (let i = 1; i <= 5; i++) {
total += i;
}
console.log(total); // 15Biến total phải được đặt ngoài vòng lặp để giữ kết quả qua các lượt. Nếu đặt let total = 0 trong thân vòng lặp, bạn lại khởi tạo từ đầu mỗi lần. Hãy thử ghi console.log(i, total) bên trong để quan sát tổng lần lượt là 1, 3, 6, 10 và 15.
while và do…while
let remaining = 3;
while (remaining > 0) {
console.log("Còn", remaining);
remaining--;
}
let attempt = 0;
do {
attempt++;
} while (attempt < 1);
console.log(attempt); // 1while kiểm tra điều kiện trước lượt đầu, có thể không chạy lần nào. do…while kiểm tra sau thân vòng lặp nên luôn chạy ít nhất một lần. Dùng for khi bộ đếm rõ ràng; dùng while khi điểm dừng phụ thuộc vào trạng thái. Mỗi cách vẫn cần bảo đảm có đường đi đến điều kiện dừng.
break và continue
for (let i = 1; i <= 10; i++) {
if (i === 8) break;
if (i % 2 !== 0) continue;
console.log(i); // 2, 4, 6
}break kết thúc vòng lặp gần nhất. continue bỏ phần còn lại của lượt hiện tại để chuyển sang lượt sau. Không nên dùng chúng quá nhiều nếu một điều kiện đơn giản đã thể hiện đầy đủ ý định.
Lỗi thường gặp
- Dùng < thay vì <= nên thiếu lượt cuối.
- Quên tăng bộ đếm trong while, khiến trang bị treo.
- Thêm dấu chấm phẩy ngay sau for(…) làm thân lặp bị rỗng.
- Thay đổi bộ đếm ở nhiều vị trí nên khó dự đoán.
Bài tập
Tính tổng các số chẵn từ 1 đến 20. Trước khi chạy, liệt kê các số sẽ được cộng. Kết quả đúng là 110.
let total = 0;
for (let i = 2; i <= 20; i += 2) {
total += i;
}
console.log(total); // 110Ghi nhớ: trước khi viết vòng lặp, hãy nói được khi nào nó dừng. Chạy thử với số lượt nhỏ trước khi tăng dữ liệu.

