JavaScript while và do ... while Loop (với Ví dụ)

Trong hướng dẫn này, bạn sẽ tìm hiểu về vòng lặp while và vòng lặp do… while với sự trợ giúp của các ví dụ.

Trong lập trình, vòng lặp được sử dụng để lặp lại một khối mã. Ví dụ, nếu bạn muốn hiển thị một tin nhắn 100 lần, thì bạn có thể sử dụng một vòng lặp. Nó chỉ là một ví dụ đơn giản; bạn có thể đạt được nhiều hơn nữa với các vòng lặp.

Trong hướng dẫn trước, bạn đã tìm hiểu về vòng lặp JavaScript for. Ở đây, bạn sẽ tìm hiểu về whiledo… whilelặp lại.

JavaScript trong khi lặp lại

Cú pháp của whilevòng lặp là:

 while (condition) ( // body of loop )

Đây,

  1. Một whilevòng lặp đánh giá điều kiện bên trong dấu ngoặc đơn ().
  2. Nếu điều kiện đánh giá là true, mã bên trong whilevòng lặp được thực thi.
  3. Điều kiện được đánh giá một lần nữa.
  4. Quá trình này tiếp tục cho đến khi điều kiệnfalse.
  5. Khi điều kiện được đánh giá là false, vòng lặp sẽ dừng lại.

Để tìm hiểu thêm về các điều kiện , hãy truy cập Toán tử lôgic và So sánh JavaScript.

Lưu đồ Vòng lặp trong khi

Lưu đồ của vòng lặp while trong JavaScript

Ví dụ 1: Hiển thị các số từ 1 đến 5

 // program to display numbers from 1 to 5 // initialize the variable let i = 1, n = 5; // while loop from i = 1 to 5 while (i <= n) ( console.log(i); i += 1; )

Đầu ra

 1 2 3 4 5

Đây là cách chương trình này hoạt động.

Lặp lại Biến đổi Điều kiện: i <= n Hoạt động
Ngày 1 i = 1
n = 5
true 1 được in. tôi được tăng lên 2 .
lần 2 i = 2
n = 5
true 2 được in. tôi được tăng lên 3 .
lần thứ 3 i = 3
n = 5
true 3 được in. tôi được tăng lên 4 .
lần thứ 4 i = 4
n = 5
true 4 được in. tôi được tăng lên 5 .
ngày 5 i = 5
n = 5
true 5 được in. tôi được tăng lên 6 .
Ngày 6 i = 6
n = 5
false Vòng lặp đã kết thúc

Ví dụ 2: Chỉ tính tổng các số dương

 // program to find the sum of positive numbers // if the user enters a negative numbers, the loop ends // the negative number entered is not added to sum let sum = 0; // take input from the user let number = parseInt(prompt('Enter a number: ')); while(number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive number = parseInt(prompt('Enter a number: ')); ) // display the sum console.log(`The sum is $(sum).`);

Đầu ra

 Nhập số: 2 Nhập số: 5 Nhập số: 7 Nhập số: 0 Nhập số: -3 Tổng là 14.

Trong chương trình trên, người dùng được nhắc nhập một số.

Ở đây, parseInt()được sử dụng vì prompt()nhận đầu vào từ người dùng dưới dạng chuỗi. Và khi các chuỗi số được thêm vào, nó sẽ hoạt động như một chuỗi. Ví dụ '2' + '3' = '23',. Vì vậy, parseInt()chuyển đổi một chuỗi số thành số.

Các whilevòng lặp tiếp tục cho đến khi người dùng nhập vào một số âm. Trong mỗi lần lặp, số do người dùng nhập sẽ được thêm vào sumbiến.

Khi người dùng nhập một số âm, vòng lặp kết thúc. Cuối cùng, tổng tổng được hiển thị.

JavaScript do… while Loop

Cú pháp của do… whilevòng lặp là:

 do ( // body of loop ) while(condition)

Đây,

  1. Phần thân của vòng lặp được thực thi lúc đầu. Sau đó, điều kiện được đánh giá.
  2. Nếu điều kiện được đánh giá là true, phần thân của vòng lặp bên trong docâu lệnh sẽ được thực thi lại.
  3. Điều kiện được đánh giá một lần nữa.
  4. Nếu điều kiện được đánh giá là true, phần thân của vòng lặp bên trong docâu lệnh sẽ được thực thi lại.
  5. Quá trình này tiếp tục cho đến khi điều kiện được đánh giá là false. Sau đó, vòng lặp dừng lại.

Lưu ý : do… whilevòng lặp tương tự như whilevòng lặp. Sự khác biệt duy nhất là trong do… whilevòng lặp, phần thân của vòng lặp được thực hiện ít nhất một lần.

Lưu đồ của do… while Loop

Lưu đồ JavaScript vòng lặp do… while

Hãy xem hoạt động của do… whilevòng lặp.

Ví dụ 3: Hiển thị các số từ 1 đến 5

 // program to display numbers let i = 1; const n = 5; // do… while loop from 1 to 5 do ( console.log(i); i++; ) while(i <= n);

Đầu ra

 1 2 3 4 5

Đây là cách chương trình này hoạt động.

Lặp lại Biến đổi Điều kiện: i <= n Hoạt động
i = 1
n = 5
chưa được kiểm tra 1 được in. tôi được tăng lên 2 .
Ngày 1 i = 2
n = 5
true 2 được in. tôi được tăng lên 3 .
lần 2 i = 3
n = 5
true 3 được in. tôi được tăng lên 4 .
lần thứ 3 i = 4
n = 5
true 4 được in. tôi được tăng lên 5 .
lần thứ 4 i = 5
n = 5
true 6 được in. tôi được tăng lên 6 .
ngày 5 i = 6
n = 5
false Vòng lặp đã kết thúc

Ví dụ 4: Tổng các số dương

 // to find the sum of positive numbers // if the user enters negative number, the loop terminates // negative number is not added to sum let sum = 0; let number = 0; do ( sum += number; number = parseInt(prompt('Enter a number: ')); ) while(number>= 0) console.log(`The sum is $(sum).`);

Đầu ra 1

 Nhập số: 2 Nhập số: 4 Nhập số: -500 Tổng là 6.

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -80 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while Loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop const count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for Vs while Loop

A for loop is usually used when the number of iterations is known. For example,

 // this loop is iterated 5 times for (let i = 1; i <=5; ++i) ( // body of loop )

whiledo… whilevòng lặp thường được sử dụng khi số lần lặp không xác định. Ví dụ,

 while (condition) ( // body of loop )

thú vị bài viết...