Thứ tư, 27/09/2017 | 00:00 GMT+7

Sử dụng Vòng lặp While và Vòng lặp Do ... Trong khi trong JavaScript

Tự động hóa là kỹ thuật làm cho một hệ thống hoạt động một cách tự động; trong lập trình, ta sử dụng vòng lặp để tự động hóa các việc lặp đi lặp lại. Vòng lặp là một trong những tính năng hữu ích nhất của ngôn ngữ lập trình, trong bài này ta sẽ tìm hiểu về vòng lặp whiledo...while trong JavaScript.

Các câu lệnh whiledo...while trong JavaScript tương tự như các câu lệnh điều kiện , là các khối mã sẽ thực thi nếu một điều kiện được chỉ định cho kết quả true . Không giống như một if tuyên bố, mà chỉ đánh giá một lần, một vòng lặp sẽ chạy nhiều lần cho đến khi điều kiện đánh giá lại không còn true .

Một loại vòng lặp phổ biến khác mà bạn sẽ gặp là câu lệnh for , thực thi một số lần nhất định. Vòng lặp whiledo...while dựa trên điều kiện, do đó không cần biết trước vòng lặp sẽ chạy bao nhiêu lần.

Trong khi lặp lại

Trong JavaScript, câu lệnh while là một vòng lặp thực thi miễn là điều kiện được chỉ định đánh giá là true .

Cú pháp rất giống với một if tuyên bố, như bên dưới.

while (condition) {     // execute code as long as condition is true } 

Câu lệnh while là vòng lặp cơ bản nhất để xây dựng trong JavaScript.

Ví dụ, giả sử ta có một bể cá có giới hạn dân số. Đối với mỗi lần lặp lại của vòng lặp, ta sẽ thêm một con cá. Khi bể cá có 10 con cá, giới hạn dân số sẽ đạt đến và chương trình sẽ ngừng bổ sung thêm cá.

bể cá.js
 // Set population limit of aquarium to 10 const popLimit = 10;  // Start off with 0 fish let fish = 0;  // Initiate while loop to run until fish reaches population limit while (fish < popLimit) {     // add one fish for each iteration     fish++;     console.log("There's room for " + (popLimit - fish) + " more fish."); } 

Một khi ta chạy chương trình trên, ta sẽ nhận được kết quả như sau, cho thấy sự lặp lại của chương trình thông qua while vòng lặp cho đến khi các điều kiện không còn được đánh giá là true .

Output
There's room for 9 more fish. There's room for 8 more fish. There's room for 7 more fish. There's room for 6 more fish. There's room for 5 more fish. There's room for 4 more fish. There's room for 3 more fish. There's room for 2 more fish. There's room for 1 more fish. There's room for 0 more fish.

Trong ví dụ của ta , ta cài đặt của ta while vòng lặp để chạy miễn là số lượng cá là ít hơn giới hạn dân số của bể cá. Đối với mỗi lần lặp lại, một con cá được thêm vào bể cá cho đến khi tất cả 10 điểm được lấp đầy. Tại thời điểm đó, vòng lặp ngừng chạy.

Vòng lặp vô hạn

Một vòng lặp vô hạn , như tên cho thấy, là một vòng lặp sẽ tiếp tục chạy mãi mãi. Nếu bạn vô tình tạo một vòng lặp vô hạn, nó có thể làm hỏng trình duyệt hoặc máy tính của bạn. Điều quan trọng là phải biết các vòng lặp vô hạn để bạn có thể tránh chúng.

Một vòng lặp vô hạn phổ biến xảy ra khi điều kiện của câu lệnh while được đặt thành true . Dưới đây là một ví dụ về mã sẽ chạy mãi mãi. Không cần thiết phải kiểm tra bất kỳ vòng lặp vô hạn nào.

finityLoop.js
 // Initiate an infinite loop while (true) {     // execute code forever } 

Một vòng lặp vô hạn sẽ chạy mãi mãi, nhưng chương trình có thể được kết thúc bằng từ khóa break .

Trong ví dụ dưới đây, ta sẽ thêm một if tuyên bố với giới while vòng lặp, và khi điều kiện được đáp ứng, ta sẽ chấm dứt vòng lặp với break .

polarBears.js
 // Set a condition to true const iceCapsAreMelting = true; let polarBears = 5;  // Initiate infinite loop while (iceCapsAreMelting) {   console.log(`There are ${polarBears} polar bears.`);   polarBears--;   // Terminate infinite loop when following condition is true   if (polarBears === 0) {     console.log("There are no polar bears left.");     break;   } } 

Khi ta chạy đoạn mã trên, kết quả sẽ như sau.

Output
There are 5 polar bears. There are 4 polar bears. There are 3 polar bears. There are 2 polar bears. There are 1 polar bears. There are no polar bears left.

Lưu ý đây không nhất thiết phải là một phương pháp thực tế để tạo và kết thúc một vòng lặp, nhưng break là một từ khóa hữu ích cần lưu ý.

Làm… Trong khi Vòng lặp

Ta đã học được về while vòng lặp, mà thực thi một khối mã càng lâu như một điều kiện nhất định là đúng. Xây dựng dựa trên đó là câu lệnh do...while , rất giống với while với sự khác biệt chính là vòng lặp do...while while sẽ luôn thực thi một lần, ngay cả khi điều kiện không bao giờ đúng.

Dưới đây ta sẽ trình bày cú pháp của vòng lặp do...while while.

do {     // execute code } while (condition); 

Như bạn thấy , do phần của vòng lặp đến trước, và được theo sau bởi while (condition) . Khối mã sẽ chạy, sau đó điều kiện sẽ được kiểm tra như while vòng lặp while bình thường.

Để kiểm tra điều này, ta có thể đặt một biến thành 0 , tăng nó trong câu lệnh do và đặt điều kiện của ta thành false .

falseCondition.js
 // Set variable to 0 let x = 0;  do {     // Increment variable by 1     x++;     console.log(x); } while (false); 
Output
1

Đầu ra của ta là 1 , nghĩa là khối mã đã lặp qua vòng lặp một lần (từ 0 ) trước khi nó bị dừng bởi điều kiện while không thành công.

Trong khi vẫn giữ trong tâm trí rằng vòng lặp sẽ lặp ít nhất một lần, các do...while loop được dùng cho các mục đích tương tự như một while vòng lặp.

Kết luận

Trong hướng dẫn này, ta đã học về while vòng lặp, do...while loop, và vòng lặp vô hạn trong JavaScript.

Tự động hóa các việc lặp đi lặp lại là một phần cực kỳ quan trọng của lập trình và các vòng lặp này có thể giúp làm cho chương trình của bạn ngắn gọn và hiệu quả hơn.

Để tìm hiểu thêm, hãy đọc về vòng lặp whiledo...while trên Mạng nhà phát triển Mozilla.


Tags:

Các tin liên quan

Sử dụng Vòng lặp While và Vòng lặp Do ... Trong khi trong JavaScript
2017-09-27
Cách sử dụng câu lệnh Switch trong JavaScript
2017-09-11
Cách viết các câu lệnh có điều kiện trong JavaScript
2017-08-29
Hiểu các đối tượng trong JavaScript
2017-08-24
Cách sử dụng phương thức mảng trong JavaScript: Phương thức lặp lại
2017-08-15
Cách chuyển đổi kiểu dữ liệu trong JavaScript
2017-08-15
Cách sử dụng các phương thức mảng trong JavaScript: Phương thức Accessor
2017-08-14
Cách sử dụng phương thức mảng trong JavaScript: Phương thức đột biến
2017-08-10
Cách viết chương trình JavaScript đầu tiên của bạn
2017-08-02
Hiểu mảng trong JavaScript
2017-07-28