Vòng lặp For trong JavaScript
Khóa học JavaScript cơ bản

Danh sách bài học
Vòng lặp For trong JavaScript
Nội dung bài viết Học nhanh
Dẫn nhập
Ở bài trước, chúng ta đã cùng nhau tìm hiểu về vòng lặp với while trong JavaScript.
Trong bài này, Kteam sẽ giới thiệu đến các bạn về một loại vòng lặp mới: vòng lặp for
Nội dung
Để nắm được nội dung bài này, bạn cần:
- Hiểu rõ về biến trong JavaScript, các kiểu dữ liệu cơ bản như số, chuỗi
- Biết về khái niệm vòng lặp trong JavaScript
- Biết về các câu lệnh điều kiện trong JavaScript
Những nội dung mà chúng ta sẽ cùng tìm hiểu:
- Đặt vấn đề
- Vòng lặp for
Đặt vấn đề
Như đã biết, để có thể lặp đi lặp lại một công việc nào đó, thì trong JavaScript ta có thể sử dụng vòng lặp với while.
Nhưng đôi khi, với while, một vòng lặp có thể sẽ không biết trước được số lần lặp.
Giả sử, ta tạo một trò chơi, mà khi người chơi ấn phím 0 thì trò chơi sẽ kết thúc.
Khi đó, while sẽ là một lựa chọn hợp lý.
Nhưng, giả sử ta muốn quyết định số lần lặp của một quá trình nào đó, thì sao ? Vòng lặp while vẫn cho chúng ta khả năng đó.
Nhưng đó không phải là một cách hay. Giả sử, ta quên mất việc gán times++ thì sao ? Đó sẽ là một vòng lặp “never stop”.
Để có thể lặp với số lần biết trước, JavaScript hỗ trợ một cú pháp lặp với tác dụng mạnh hơn nhiều so với while. Đó là vòng lặp for
Vòng lặp for
Cú pháp:
for(<initialization>; <condition>; <final-expression>)
<statement>
Trong đó:
- <initialization>: là một (hay một nhóm) lệnh, sẽ chỉ được thực thi một lần trước khi vòng lặp được diễn ra. Sau khi kết thúc vòng lặp, các giá trị được khởi tạo (nếu có) sẽ bị loại bỏ.
- <condition>: là một (hoặc một nhóm) điều kiện. Cũng như while, các lệnh bên trong vòng lặp chỉ được thực thi khi <condition> là truthy.
- <final-expression>: là một (hay một nhóm) lệnh, sẽ được thực thi sau mỗi lần hoàn thành <statement>
- <statement>: là một (một khối) lệnh, sẽ được thực thi trong mỗi lần lặp
Ví dụ:
Sau đây, Kteam sẽ chuyển các ví dụ (ở bài trước) từ cách dùng while sang sử dụng for để bạn có cái nhìn rõ ràng hơn
Ví dụ 1: In ra các số chẵn trong khoảng [0..10]
Ví dụ 2: Tính tổng các số trong khoảng [0..100]
- Cách 1:
Hoặc, khi đã thành thạo vòng lặp for ở một mức độ nhất định, bạn có thể
- Cách 2:
Ví dụ 3: In ra các ký tự có trong một chuỗi:
Tại sao lại nói là for “đẳng cấp” hơn while ? Vì đơn giản, for có thể biến thể một cách linh hoạt tùy theo mong muốn của người dùng.
Trong vòng lặp for, <initialization>; <condition>; <final-expression> và <statement> là không bắt buộc.
Ví dụ dưới đây là một cách để tạo ra một vòng lặp vô tận:
Ta có thể “biến hóa” vòng lặp for theo cách của mình:
- Bỏ phần <initialization>:
- Việc bỏ phần <condition> khả năng cao là sẽ tạo ra một vòng lặp vô tận. Biện pháp cải thiện là dùng break
Nhưng cách này chỉ khiến cho code của bạn trông dài hơn chứ chẳng mang lại bất cứ lợi ích gì, do đó đừng dùng nó.
Bên cạnh đó, với <condition>, ta cũng có thể ghép nhiều điều kiện lại với nhau bằng các toán tử NOT, OR và AND (toán tử logic)
Dưới đây là một ví dụ mà bạn có thể tự tìm hiểu thêm
Đối với phần <final-expression>, ta có thể bỏ qua nó nếu như cảm thấy cần thiết.
Tổng kết lại, dù là vòng lặp for hay vòng lặp while sẽ đều có những lợi thế, cũng như là những nhược điểm riêng, do đó, các bạn cần lựa chọn sử dụng cho hợp lý. Trước mắt, xuất phát điểm sẽ là thành thạo cả 2.
Dưới đây sẽ là bảng so sánh giữa vòng lặp while và vòng lặp for:
Tiêu chí |
Vòng lặp for |
Vòng lặp while |
Cú pháp |
for(<initialization>; <condition>; <final-expression>) <statement> |
while(<condition>) <statement> |
Đặc điểm |
Lặp lại với số lần biết trước |
Lặp mà không biết trước số lần lặp |
Điều kiện ban đầu |
Không bắt buộc phải có điều kiện ban đầu (có thể bỏ <condition>). Lúc này, nó trờ thành một vòng lặp vô tận cho đến khi gặp lệnh break |
Nếu không có điều kiện ban đầu, thì chương trình báo lỗi (không thể bỏ <condition>) |
Các biến trong vòng lặp |
Cho phép khởi tạo biến trước vòng lặp (các biến này chỉ được khởi tạo một lần từ đầu cho đến khi kết thúc vòng lặp) |
Không hỗ trợ việc khởi tạo trước vòng lặp. Việc khởi tạo bên trong vòng lặp sẽ được thực thi lại trong mỗi lần lặp (về điểm này thì for cũng tương tự) |
Trường hợp sử dụng |
Lặp khi đã biết trước số lần lặp |
Lặp mà không biết trước số lần lặp |
Vòng lặp for có nhiều biến thể, mà Kteam sẽ hướng dẫn trong tương lai khi kiến thức của các bạn đã “vững chắc” hơn.
Kết luận
Qua bài này, các bạn đã hiểu rõ hơn về vòng lặp for.
Trong bài tiếp theo, Kteam sẽ cùng bạn ôn tập Bài tập về vòng lặp trong JavaScript.
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Vòng lặp For trong JavaScript dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Tác giả/Dịch giả
Khóa học
Nếu bạn đang muốn bắt đầu học JavaScript thì đây chính là khóa học dành cho bạn. Trong khóa học này, Kteam sẽ cung cấp cho những kiến thức cơ bản nhất của ngôn ngữ lập trình JavaScript.
Khóa học này không đòi hỏi kiến thức nền tảng nhiều, nên giả sử như bạn chưa biết gì về lập trình, bạn vẫn có thể tham gia. Do đó dù bạn có là một người trái ngành cũng có thể tiếp cận - Đồng thời bạn cũng không cần phải là một thiên tài toán học để tham gia khóa học này 😉.
I’m indebted to you