Với Thế giới JS, Một phần quan trọng nữa trong lập trình mà ngôn ngữ nào cũng phải có đó là vòng lặp(loop) trong javascript, Nó trong các ngôn ngữ lập trình là một tính năng tạo điều kiện thuận lợi cho việc thực hiện lặp đi lặp lại một tập hợp các lệnh/hàm trong khi một số điều kiện được đánh giá là đúng. Ví dụ: giả sử chúng tôi muốn in “Hello World” 10 lần. Điều này có thể được thực hiện theo hai cách như hình dưới đây:
Vòng lặp:
Phương pháp lặp để thực hiện việc này là viết câu lệnh document.write() 10 lần.
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>"); document.write("Hello World<br>");
Sau đây Thế giới JS share về cách Sử dụng Vòng lặp: Trong Vòng lặp, câu lệnh chỉ cần được viết một lần và vòng lặp sẽ được thực hiện 10 lần như hình bên dưới:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs for (let i = 0; i < 10; i++) { document.write("Hello World!<br>"); }
Nhiều thứ có vẻ khó hiểu đối với bạn trong chương trình trên vào thời điểm này nhưng đừng lo, bạn sẽ có thể hiểu mọi thứ về vòng lặp trong JavaScript khi kết thúc hướng dẫn này. Bạn có thể quan sát thấy rằng trong chương trình sử dụng các vòng lặp ở trên, chúng ta chỉ sử dụng câu lệnh document.write một lần nhưng đầu ra của chương trình sẽ giống như kết quả của chương trình lặp mà chúng ta đã sử dụng câu lệnh document.write 10 lần. Trong lập trình máy tính, vòng lặp là một chuỗi các hướng dẫn được lặp lại cho đến khi đạt được một điều kiện nhất định.
- Một thao tác được thực hiện, chẳng hạn như lấy một mục dữ liệu và thay đổi nó, sau đó một số điều kiện được kiểm tra chẳng hạn như liệu một bộ đếm đã đạt đến một số quy định hay chưa.
- Bộ đếm chưa đạt: Nếu bộ đếm chưa đạt đến số mong muốn, lệnh tiếp theo trong chuỗi sẽ quay lại lệnh đầu tiên trong chuỗi và lặp lại nó.
- Đã đạt đến bộ đếm: Nếu đã đạt được điều kiện, lệnh tiếp theo sẽ “đi qua” lệnh tuần tự tiếp theo hoặc phân nhánh bên ngoài vòng lặp.
Chủ yếu có hai loại vòng lặp:
- Entry Controlled loops : Trong các loại vòng lặp này, điều kiện kiểm tra được kiểm tra trước khi vào phần thân vòng lặp. Vòng lặp For và While Loops là các vòng lặp được kiểm soát.
- Thoát khỏi các vòng lặp được kiểm soát : Trong các loại vòng lặp này, điều kiện kiểm tra được kiểm tra hoặc đánh giá ở phần cuối của thân vòng lặp. Do đó, thân vòng lặp sẽ thực thi ít nhất một lần, bất kể điều kiện kiểm tra là đúng hay sai. Vòng lặp do-while là vòng lặp kiểm soát đầu thoát.
JavaScript chủ yếu cung cấp ba cách để thực hiện các vòng lặp. Mặc dù tất cả các cách đều cung cấp chức năng cơ bản giống nhau, nhưng chúng khác nhau về cú pháp và thời gian kiểm tra điều kiện. Hãy để chúng tôi tìm hiểu về từng cái trong số này một cách chi tiết.
1. Sử dụng vòng lặp while:
Vòng lặp while là một câu lệnh luồng điều khiển cho phép mã được thực thi lặp đi lặp lại dựa trên một điều kiện Boolean nhất định. Vòng lặp while có thể được coi như một câu lệnh if lặp đi lặp lại.
Cú pháp:
while (boolean condition) { loop statements... }
Lưu đồ :
- Vòng lặp While bắt đầu bằng việc kiểm tra điều kiện. Nếu nó được đánh giá là đúng, thì các câu lệnh trong thân vòng lặp sẽ được thực thi nếu không thì câu lệnh đầu tiên sau vòng lặp sẽ được thực thi. Vì lý do này, nó còn được gọi là Vòng lặp kiểm soát đầu vào
- Khi điều kiện được đánh giá là đúng, các câu lệnh trong thân vòng lặp sẽ được thực thi. Thông thường, các câu lệnh chứa giá trị cập nhật cho biến đang được xử lý cho lần lặp tiếp theo.
- Khi điều kiện trở thành sai, vòng lặp kết thúc, đánh dấu sự kết thúc vòng đời của nó.
2. Sử dụng vòng lặp for:
vòng lặp for cung cấp một cách ngắn gọn để viết cấu trúc vòng lặp. Không giống như vòng lặp while, câu lệnh for sử dụng phần khởi tạo, điều kiện và tăng/giảm trong một dòng do đó cung cấp cấu trúc vòng lặp ngắn hơn, dễ sửa lỗi hơn.
Cú pháp:
for (initialization condition; testing condition; increment/decrement) { statement(s) }
Lưu đồ :
- Điều kiện khởi tạo: Ở đây, chúng ta khởi tạo biến đang sử dụng. Nó đánh dấu sự bắt đầu của một vòng lặp for. Một biến đã được khai báo có thể được sử dụng hoặc một biến có thể được khai báo, chỉ cục bộ cho vòng lặp.
- Điều kiện kiểm tra: Nó được sử dụng để kiểm tra điều kiện thoát cho một vòng lặp. Nó phải trả về một giá trị boolean. Nó cũng là một Vòng lặp điều khiển đầu vào vì điều kiện được kiểm tra trước khi thực hiện các câu lệnh vòng lặp.
- Thực thi câu lệnh: Khi điều kiện được đánh giá là đúng, các câu lệnh trong thân vòng lặp sẽ được thực thi.
- Tăng/Giảm: Dùng để cập nhật biến cho lần lặp tiếp theo.
- Kết thúc vòng lặp: Khi điều kiện trở thành sai, vòng lặp kết thúc đánh dấu sự kết thúc vòng đời của nó.
3.Sử dụng do-while:
Vòng lặp do-while tương tự như vòng lặp while với điểm khác biệt duy nhất là nó kiểm tra điều kiện sau khi thực hiện các câu lệnh và do đó là một ví dụ về Vòng lặp Điều khiển đầu Thoát. Có nghĩa là lệnh này sẽ kiểm tra điều kiện khúc cuối vòng lặp.
Cú pháp:
do { statements.. } while (condition);
Lưu đồ :
- Vòng lặp do-while bắt đầu bằng việc thực thi (các) câu lệnh. Không có kiểm tra bất kỳ điều kiện nào lần đầu tiên.
- Sau khi thực hiện các câu lệnh và cập nhật giá trị biến, điều kiện được kiểm tra giá trị đúng hoặc sai. Nếu nó được đánh giá là đúng, thì lần lặp tiếp theo của vòng lặp sẽ bắt đầu.
- Khi điều kiện trở thành sai, vòng lặp kết thúc, đánh dấu sự kết thúc vòng đời của nó.
- Điều quan trọng cần lưu ý là vòng lặp do-while sẽ thực hiện các câu lệnh của nó ít nhất một lần trước khi bất kỳ điều kiện nào được kiểm tra, và do đó đây là một ví dụ về vòng lặp điều khiển thoát.
4.Vòng lặp vô hạn:
Một trong những lỗi phổ biến nhất khi thực hiện bất kỳ loại vòng lặp nào là nó có thể không bao giờ thoát ra, đó là vòng lặp chạy trong thời gian vô hạn. Điều này xảy ra khi điều kiện không thành công vì một số lý do.
Thí dụ:
// https://vpsus.vn/ // https://www.facebook.com/groups/893052378563701 // https://twitter.com/thegioijs // JavaScript program to illustrate infinite loop // infinite loop because condition is not apt // condition should have been i>0. for (var i = 5; i != 0; i -= 2) { document.write(i); } var x = 5; // infinite loop because update statement // is not provided. while (x == 5) { document.write("In the loop"); }
Trên đây là tất cả những gì về Vòng lặp trong javascript mà bạn cần biết. Nếu bạn có bất kỳ câu hỏi liên quan tới Vòng lặp, hãy chủ động liên hệ và inbox cho chúng tôi, để giúp đỡ bạn sớm nhất
Tiếp theo, hãy cùng Thế giới JS tìm hiểu thêm các kiến thức về Javascript trong các bài tiếp theo trong series học miễn phí Javascript từ cơ bản tới nâng cao.
Nếu bạn cảm thấy hữu ích và yêu thích Thế giới JS, hãy tham gia và theo dõi chúng tôi để nhận thêm nhiều kiến thức MIỄN PHÍ hơn nữa nhé:
Share to learn more than!