khởi_tạo
Chạy 1 lần lúc bắt đầu — thường khai báo biến đếm
for là gì?Vòng lặp for là cấu trúc điều khiển chuẩn trong JavaScript. Nó thường được dùng để lặp một số lần xác định trước hoặc duyệt qua một dãy giá trị, thực thi đoạn mã cho mỗi lần lặp.
for (khởi_tạo; điều_kiện; cập_nhật) { // khối lệnh}khởi_tạo
Chạy 1 lần lúc bắt đầu — thường khai báo biến đếm
điều_kiện
Kiểm tra trước mỗi vòng — nếu true thì chạy khối lệnh
cập_nhật
Chạy sau mỗi vòng — thường tăng/giảm biến đếm
khởi_tạo (1 lần) ↓điều_kiện → false → DỪNG ↓ truekhối lệnh ↓cập_nhật ↓điều_kiện → false → DỪNG ↓ truekhối lệnh ...for (let i = 0; i < 5; i++) { console.log(i);}// Output: 0, 1, 2, 3, 4for (let i = 5; i > 0; i--) { console.log(i);}console.log("Phóng! 🚀");// Output: 5, 4, 3, 2, 1, Phóng! 🚀// Chỉ in số chẵnfor (let i = 0; i <= 10; i += 2) { console.log(i);}// Output: 0, 2, 4, 6, 8, 10const fruits = ["apple", "banana", "cherry"];
for (let i = 0; i < fruits.length; i++) { console.log(`${i}: ${fruits[i]}`);}// 0: apple// 1: banana// 2: cherrylet i = 0;for (; i < 3; i++) { console.log(i);}for (let i = 0; i < 3;) { console.log(i); i++; // cập nhật bên trong}for (;;) { // tương đương while(true) const input = prompt("Nhập 'quit' để thoát:"); if (input === "quit") break;}break và continuefor (let i = 0; i < 10; i++) { if (i === 5) break; // dừng tại 5 console.log(i);}// Output: 0, 1, 2, 3, 4for (let i = 0; i < 5; i++) { if (i === 2) continue; // bỏ qua 2 console.log(i);}// Output: 0, 1, 3, 4outer: for (let i = 0; i < 3; i++) { for (let j = 0; j < 3; j++) { if (i === 1 && j === 1) break outer; // thoát cả vòng ngoài console.log(i, j); }}// 0 0, 0 1, 0 2, 1 0// Bảng cửu chươngfor (let i = 2; i <= 4; i++) { for (let j = 1; j <= 5; j++) { console.log(`${i} × ${j} = ${i * j}`); }}for vs for...of vs for...in| Vòng lặp | Duyệt | Dùng cho | Ví dụ |
|---|---|---|---|
| for | Chỉ số | Cần index, biết số lần | for (let i = 0; i < n; i++) |
| for…of | Giá trị | Array, String, Map, Set | for (const x of arr) |
| for…in | Key | Object (enumerable props) | for (const k in obj) |
function isPrime(n) { if (n < 2) return false; for (let i = 2; i <= Math.sqrt(n); i++) { if (n % i === 0) return false; } return true;}
for (let i = 2; i <= 20; i++) { if (isPrime(i)) console.log(i);}// 2, 3, 5, 7, 11, 13, 17, 19for (let i = 1; i <= 15; i++) { if (i % 15 === 0) console.log("FizzBuzz"); else if (i % 3 === 0) console.log("Fizz"); else if (i % 5 === 0) console.log("Buzz"); else console.log(i);}