Chạy trước
Khối lệnh chạy trước, rồi mới kiểm tra điều kiện
do...while là gì?Câu lệnh do...while tạo ra một vòng lặp thực thi câu lệnh được chỉ định cho đến khi điều kiện kiểm tra trả về false. Điều kiện sẽ được đánh giá sau khi câu lệnh được thực thi, vì vậy câu lệnh sẽ luôn được chạy ít nhất một lần.
do { // khối lệnh} while (điều_kiện);Chạy trước
Khối lệnh chạy trước, rồi mới kiểm tra điều kiện
Ít nhất 1 lần
Luôn chạy ít nhất 1 lần — dù điều kiện sai ngay từ đầu
while?let i = 10;while (i < 5) { console.log(i); // ← KHÔNG BAO GIỜ chạy i++;}// Không có output — điều kiện sai ngay từ đầulet i = 10;do { console.log(i); // ← CHẠY 1 LẦN: in ra 10 i++;} while (i < 5);// Output: 10let i = 0;do { console.log(i); i++;} while (i < 5);// Output: 0, 1, 2, 3, 4let choice;do { choice = prompt("Chọn: 1) Xem | 2) Sửa | 3) Thoát");
if (choice === "1") console.log("Đang xem..."); else if (choice === "2") console.log("Đang sửa...");} while (choice !== "3");
console.log("Tạm biệt!");let num;do { num = Number(prompt("Nhập số dương:"));} while (isNaN(num) || num <= 0);
console.log(`Bạn nhập: ${num}`);do...while?Menu tương tác
Hiển thị menu ít nhất 1 lần, lặp cho đến khi user chọn thoát
Validate input
Hỏi user nhập dữ liệu ít nhất 1 lần, lặp nếu không hợp lệ
Game loop
Chạy ít nhất 1 vòng game, kiểm tra điều kiện kết thúc sau
Retry logic
Thử thực hiện thao tác ít nhất 1 lần, retry nếu thất bại
let attempts = 0;let success = false;
do { attempts++; console.log(`Lần thử ${attempts}...`);
// Giả lập: 30% xác suất thành công success = Math.random() < 0.3;
if (success) { console.log("✅ Thành công!"); } else if (attempts >= 5) { console.log("❌ Hết số lần thử."); }} while (!success && attempts < 5);