Giới thiệu

Tự động hóa là kỹ thuật làm cho hệ thống hoạt động tự động; trong lập trình, chúng ta sử dụng các vòng lặp để tự động hóa các tác vụ 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, và trong bài viết này chúng ta sẽ tìm hiểu về vòng lặp While và Do...While  trong JavaScript.

Câu lệnh của vòng lặp WhileDo..While trong Javascript tương tự như câu lệnh có điều kiện, đó là các khối mã sẽ thực hiện nếu một điều kiện được chỉ định kết quả là True. Không giống như câu lệnh if, 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 không còn đánh giá đúng nữa.

Một loại vòng lặp phổ biến khác mà bạn sẽ gặp phải là câu lệnh for, thực thi một số lần được thiết lập trước. Trong khi vòng lặp có điều kiện While Do..While sẽ không biết trước được số lần lặp là bao nhiêu.

Học Java coqw bản nâng cao cấp tốc 

Vòng lặp While

Trong javascript , câu lệnh vòng lặp While sẽ được thực thi miễn là điều kiện của nó vẫn True.

Cú pháp vòng lặp while rất giống câu lệnh if, như bạn thấy bên dưới.

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

Câu lệnh while là cấu trúc vòng lặp cơ bản nhất trong Javascript

Ví dụ, chúng ta có 1 bể cá và giới hạn số cá trong đó là 10 con. Đối với mỗi lần lặp chúng ta sẽ thêm 1 con cá vào. Khi bể cá có 10 con cá, giới hạn cá thêm vào bể đã tới và chương trình sẽ ngừng thêm cá vào.

aquarium.js

// Đặt số cá tối đa trong bể là 10 con
const popLimit = 10;

// Bắt đầu với 0 con cá
let fish = 0;

//Vòng lặp bắt đầu chạy cho tới khi cá đạt giới hạn trong bể
while (fish <= popLimit) {
    console.log("Số chỗ cá có thể thêm vào: " + (popLimit - fish))
   // Thêm 1 con cá cho mỗi vòng lặp
     fish++;}

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

Output

Số chỗ cá có thể thêm vào: 10

Số chỗ cá có thể thêm vào: 9

Số chỗ cá có thể thêm vào: 8

Số chỗ cá có thể thêm vào: 7

Số chỗ cá có thể thêm vào: 6

Số chỗ cá có thể thêm vào: 5

Số chỗ cá có thể thêm vào: 4 

Số chỗ cá có thể thêm vào: 3

Số chỗ cá có thể thêm vào: 2

Số chỗ cá có thể thêm vào: 1

Số chỗ cá có thể thêm vào: 0

 

Trong ví dụ của chúng tôi, chúng tôi thiết lập vòng lặp while để chạy miễn là số lượng cá <= 10 con. Đố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 10 con cá được cho vào. 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 của 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 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 nhận thức được vòng lặp vô hạn để bạn có thể tránh chúng.

Một vòng lặp nói chung xảy ra khi điều kiện của câu lệnh While được cài đặt là True. Bên dưới là ví dụ về code chạy vô hạn.

infiniteLoop.js

// Khởi tạo vòng lặp vô hạn
while (true) {
    // code thực thi vòng lặp vô hạn
}

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 chấm rứt với từ khóa break .  Trong ví dụ bên dưới, chúng ta sẽ thêm câu lệnh if vào trong vòng lặp while . Và khi điều kiện câu lệnh if được đáp ứng chúng ta sẽ chấm rứt vòng lặp với break .

polarBears.js

// Đặt điều kiện là true
const iceCapsAreMelting = true;
let polarBears = 5;

// Khởi tạo vòng lặp vô hạn
while (iceCapsAreMelting) {
  console.log(`There are ${polarBears} polar bears.`);
  polarBears--;
  // Chấm rứt vòng lặp vô hạn khi điều kiện sau là đúng
  if (polarBears === 0) {
    console.log("There are no polar bears left.");
    break;
  }
}
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 ý rằng đây không nhất thiết phải là một phương pháp thiết thực để tạo và chấm dứt vòng lặp, nhưng beark là một từ khóa hữu ích cần phải biết.

Vòng lặp Do...While

Chúng ta đã học về vòng lặp while ,nó thực hiện một khối mã cho đến khi nào một điều kiện được chỉ định là đúng. xây dựng câu lệnh do...while  cũng tương tự như câu lệnh while , nhưng có điểm khác biết lớn đó là vòng lặp do...while luôn thực hiện 1 lần trong khi điều kiện lặp là sai.

Bên dưới chúng ta sẽ chứng minh cú pháp của vòng lặp do..while 

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

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

Để kiểm tra điều này, chúng ta sẽ đặt 1 biến là 0, tăng giá trị của nó bên trong câu lệnh do , và đặt điều kiện của chúng là fase .

falseCondition.js

// Đặt biến x là 0
let x = 0;

do {
    // Tăng gí trị của biến lên 1
    x++;
    console.log(x);
} while (false);
Output
1

Đầu ra của chúng ta là 1, có nghĩa khối lệnh đã được thực hiện để tăng giá trị của x lên 1 và in ra giá trị trước khi gặp điều kiện dừng của câu lệnh while.

Trong khi lưu ý vòng lặp do...while sẽ chạy ít nhất 1 lần, thì nó cũng có thể sử dụng cho mục đích tương tự như while .

Phần kết luận

Trong bài hướng dẫn này, chúng ta được học về vòng lặp while, do...while và vòng lặp vô hạn trong Javascript. 

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

Đọc và tìm hiểu thêm về vòng lặp while and do...while trên Mozilla Developer Network.

Bài viết được dịch từ trang: http://www.digitalocean.com