Vòng lặp trong JavaScript
— Javascript — 5 min read
Bạn đã bao giờ nghĩ đến việc bảo máy tính làm một việc gì đó lặp đi lặp lại chưa? Không phải kiểu “nói một lần là nhớ mãi”, mà là kiểu “làm đi, làm lại, cho đến khi ta bảo dừng”. Đó chính là lúc vòng lặp bước vào cuộc chơi. Hãy tưởng tượng bạn là một đầu bếp, và vòng lặp là cái máy nhào bột tự động – thay vì bạn ngồi đó nhào từng cục bột bằng tay, máy sẽ làm việc đó cho bạn, đều đặn, không mệt mỏi. Trong lập trình, vòng lặp chính là công cụ giúp bạn thoát khỏi cơn ác mộng của những đoạn mã dài lê thê, lặp lại đến phát chán.
Vòng lặp là gì?
Nói đơn giản, vòng lặp là cách bạn bảo máy tính: “Hãy làm việc này, rồi làm lại, rồi làm tiếp, cho đến khi nào xong thì thôi.” Nó giống như một vòng tròn ma thuật trong mã nguồn – bạn viết một lần, nhưng nó chạy nhiều lần. Không có vòng lặp, bạn sẽ phải sao chép-dán mã như một nhân viên văn phòng đang cố hoàn thành báo cáo vào phút chót. Với vòng lặp, mã của bạn ngắn hơn, sạch hơn, và bạn có thể dành thời gian để suy nghĩ về những thứ thú vị hơn thay vì chơi trò “copy-paste”.
Tại sao vòng lặp lại quan trọng?
Hãy thử nghĩ xem:
- Tiết kiệm sức lực: In lần lượt từ 1 đến 10 mà không có vòng lặp? Bạn sẽ phải viết
console.log(1)
,console.log(2)
, ..., đến khi tay mỏi nhừ. Một vòng lặp nhỏ gọn giải quyết chuyện đó trong tích tắc. - Ít lỗi hơn: Sao chép mã thủ công là con đường nhanh nhất dẫn đến nhầm lẫn – quên đổi số, gõ sai dòng, vân vân. Vòng lặp giữ mọi thứ nhất quán, giống như một người trợ lý đáng tin cậy.
- Linh hoạt như cao su: Muốn in đến 100 thay vì 10? Chỉ cần đổi một con số trong vòng lặp, không cần sửa cả tá dòng mã.
Các loại vòng lặp trong JavaScript
JavaScript mang đến cho bạn ba công cụ chính để chơi trò lặp lại này. Hãy nghĩ về chúng như những chiếc búa trong hộp đồ nghề của bạn – mỗi cái có một công dụng riêng:
- Vòng lặp
for
– Lặp với số lần xác định trước. - Vòng lặp
while
– Lặp khi một điều kiện còn đúng. - Vòng lặp
do-while
– Giốngwhile
, nhưng luôn chạy ít nhất một lần.
1. Vòng lặp for
Đây là lựa chọn “đi thẳng vào việc”. Bạn biết trước mình cần lặp bao nhiêu lần?
Cấu trúc của vòng lặp for
bao gồm ba phần:
for (khởi_tạo; điều_kiện; cập_nhật) { // Khối lệnh được thực thi trong mỗi vòng lặp}
Ví dụ:
for (let i = 1; i <= 5; i++) { console.log(`Lần thứ ${i}: Xin chào!`);}
Kết quả? Năm dòng “Xin chào!” được in ra mà không cần viết lặp lại.
Lần thứ 1: Xin chào!Lần thứ 2: Xin chào!Lần thứ 3: Xin chào!...Lần thứ 5: Xin chào!
Bạn có thể sử dụng vòng lặp for
khi biết trước số lần lặp.
2. Vòng lặp while
Cái này giống như một người bạn kiên nhẫn – nó sẽ lặp chừng nào điều kiện bạn đặt ra còn đúng. Không biết trước bao nhiêu lần? Không sao, while
lo được:
Cấu trúc của vòng lặp while
chỉ có một điều kiện kiểm tra:
while (điều_kiện) { // Khối lệnh được thực thi nếu điều kiện còn đúng}
Ví dụ:
let count = 0;while (count < 3) { console.log('Đếm nào: ' + count); count++;}
Vòng lặp while
thường được dùng khi không biết trước số lần lặp mà chỉ biết điều kiện để dừng.
3. Vòng lặp do-while
Anh em họ của while
, nhưng có một điểm khác biệt lớn – nó luôn chạy ít nhất một lần, ngay cả khi điều kiện ban đầu sai. Hữu ích khi bạn muốn thử cái gì đó trước, rồi mới kiểm tra:
do { // Khối lệnh được thực thi ít nhất một lần} while (điều_kiện);
Ví dụ:
let x = 10;do { console.log('Chạy lần ' + x); x++;} while (x < 5);
Mặc dù điều kiện x < 5
sai ngay từ đầu, nhưng khối lệnh vẫn chạy một lần trước khi kiểm tra điều kiện.
Phân biệt while
và do-while
while
kiểm tra điều kiện trước, nếu điều kiện sai ngay từ đầu, vòng lặp không chạy lần nào.do-while
chạy ít nhất một lần trước khi kiểm tra điều kiện.
Ví dụ minh họa sự khác biệt:
let x = 10;while (x < 5) { console.log('Không chạy lần nào');}
do { console.log('Chạy ít nhất một lần');} while (x < 5);
Chạy đoạn mã trên, bạn sẽ thấy chỉ có dòng "Chạy ít nhất một lần" được in ra.
Hãy thử ngay đi!
Đừng chỉ ngồi đọc và gật gù – hãy mở WebStorm (hoặc VSCode nếu bạn thích), tạo một file .js
mới, và gõ thử mấy dòng mã trên. Chạy chúng bằng Node.js hoặc nhúng vào một file HTML rồi mở trên trình duyệt. Thay đổi số, nghịch điều kiện, xem chuyện gì xảy ra. Lập trình không phải là ngồi nhìn, mà là nhảy vào thử nghiệm. Vòng lặp là cánh cửa đầu tiên để bạn thấy máy tính không chỉ biết nghe lời, mà còn biết làm việc thông minh. Bạn đã sẵn sàng để biến nó thành trợ thủ của mình chưa?
Tổng kết
Vòng lặp là một công cụ mạnh mẽ giúp bạn làm việc hiệu quả hơn với JavaScript. Hiểu cách hoạt động của từng loại vòng lặp sẽ giúp bạn viết mã tốt hơn, dễ đọc hơn và ít lỗi hơn. Trong bài học sau, chúng ta sẽ tìm hiểu cách lặp qua mảng – một ứng dụng quan trọng của vòng lặp.