Trong bài viết này, ta sẽ cùng tìm hiểu về vòng lặp while trong JavaScript cùng với sự trợ giúp của các ví dụ dẫn chứng.
Vòng lặp while trong JavaScript
Trong bài trước, ta đã tìm hiểu về vòng lặp for trong JavaScript, các bạn có thể đọc về vòng lặp for trong JavaScript tại đây. Trong bài viết này, ta sẽ cùng tìm hiểu về vòng lặp while và sự khác biệt giữa vòng lặp while với vòng lặp for.
Cú pháp của vòng lặp while:
1 2 3 |
while (điều kiện) { // Đoạn mã } |
Ở đây:
- Vòng lặp while sẽ thực hiện đánh giá điều kiện bên trong dấu ngoặc đơn ().
- Nếu điều kiện được đánh giá là true (đúng), đoạn mã bên trong vòng lặp while được thực thi.
- Điều kiện được đánh giá lại sau mỗi lần lặp.
- Quá trình này tiếp tục cho đến khi điều kiện được đánh giá là false (sai).
- Khi điều kiện được đánh giá là false (sai), vòng lặp sẽ dừng lại.
Ví dụ: Sử dụng vòng lặp while trong JavaScript.
1 2 3 4 5 |
var a = 1; while (a <= 5) { console.log("Lập trình JavaScript"); a += 1; } |
Kết quả:
1 2 3 4 5 |
Lập trình JavaScript Lập trình JavaScript Lập trình JavaScript Lập trình JavaScript Lập trình JavaScript |
Cách thức hoạt động của đoạn mã bên trên có thể được mô tả cụ thể trong bảng bên dưới như sau.
Vòng lặp | Biến | Điều kiện a <= 10 | Hành động |
Lần 1 | a=1 | true | In ra chuỗi ký tự, i được tăng lên 1 đơn vị. |
Lần 2 | a=2 | true | In ra chuỗi ký tự, i được tăng lên 1 đơn vị. |
Lần 3 | a=3 | true | In ra chuỗi ký tự, i được tăng lên 1 đơn vị. |
Lần 4 | a=4 | true | In ra chuỗi ký tự, i được tăng lên 1 đơn vị. |
Lần 5 | a=5 | true | In ra chuỗi ký tự, i được tăng lên 1 đơn vị. |
Lần 6 | a=6 | false | Kết thúc vòng lặp. |
Ví dụ 2:
1 2 3 4 5 |
let a = 1; while(a != 14) { a = prompt('Nhập mật khẩu: '); } console.log("Mật khẩu chính xác"); |
Trong chương trình trên, người dùng được yêu cầu nhập mật khẩu. Vòng lặp while sẽ được thực hiện cho tới khi người dùng nhập chính xác số 14, là giá trị để dừng vòng lặp while. Nếu người dùng nhập khác số 14 thì vòng lặp sẽ được tiếp tục thực thi.
Vòng lặp do…while
Ngoài vòng lặp while được sử dụng bên trên, ta có một dạng vòng lặp khác là do…while trong JavaScript.
Cú pháp:
1 2 3 |
do { // Đoạn mã } while(Điều kiện) |
Trong đó:
- Phần thân của vòng lặp được thực thi lần đầu. Sau đó, điều kiện được đánh giá.
- Nếu điều kiện được đánh giá là true (đúng), phần thân bên trong của vòng lặp được thực thi lại.
- Điều kiện được đánh giá lại một lần nữa.
- Nếu điều kiện được đánh giá là false (sai), vòng lặp sẽ ngừng thực thi.
- Quá trình này tiếp tục cho đến khi điều kiện được đánh giá là false (sai). Lúc đó, vòng lặp sẽ dừng lại.
Chú ý: Vòng lặp do…while tương tự như vòng lặp while. Sự khác biệt duy nhất là trong vòng lặp do…while, phần thân của vòng lặp sẽ được thực thi ít nhất một lần bất kể điều kiện được đánh giá là đúng hay sai.
Ví dụ:
1 2 3 4 5 |
let a = 6; do { console.log(a); a++; }while(a < 5); |
Kết quả:
1 |
6 |
Trong đoạn mã trên, ta thực hiện gán giá trị ban đầu cho biến a là 6. Đoạn mã bên trong vòng lặp do…while được thực hiện in ra giá trị của biến a và tăng giá trị của biến a lên 1 đơn vị. Tuy nhiên, điều kiện là a < 5, mà biến a lúc này chứa giá trị là 7, do đó điều kiện được đánh giá là sai. Kết thúc vòng lặp. Như vậy, đoạn mã bên trong vòng lặp được thực thi 1 lần. Nếu ta sử dụng vòng lặp while như bên dưới, thì đoạn mã không được thực thi bởi điều kiện được đánh giá trước khi thực thi đoạn mã.
1 2 3 4 5 |
let a = 6; while(a < 5){ console.log(a); a++; } |
Vòng lặp while vô hạn
Nếu điều kiện của vòng lặp được đánh giá là luôn đúng, thì vòng lặp sẽ chạy trong thời gian vô hạn (cho đến khi bộ nhớ đầy).
Ví dụ:
1 2 3 |
while(1){ console.log("Vòng lặp vô hạn "); } |
Trong đoạn mã trên, vì các số khác 0 sẽ được coi là true (đúng), do đó, điều kiện sẽ luôn được đánh giá là true và đoạn mã bên trong vòng lặp while sẽ được thực thi vô hạn.
Ví dụ: Vòng lặp do…while vô hạn.
1 2 3 |
do{ console.log("Vòng lặp vô hạn "); }while(1); |
So sánh vòng lặp while và vòng lặp for
1. Vòng lặp for thường được sử dụng khi đã biết số lần lặp.
Ví dụ:
1 2 3 |
for (let a = 1; a <= 3; ++a) { console.log("Lập trình JavaScript"); } |
Trong đoạn mã trên, ta biết trước là sẽ in ra chuỗi ký tự là 3 lần.
2. Và vòng lặp while và do…while thường được sử dụng khi chưa biết trước số lần lặp nhất định.
Ví dụ:
1 2 3 4 |
var a = 0; while(a!=1){ a = parseInt(prompt('Nhập một số: ')); } |
Trong đoạn mã trên, vòng lặp sẽ được thực thi cho tới khi mà người dùng nhập giá trị là 1. Và sẽ không biết được khi nào thì người dùng nhập đúng giá trị là 1, do đó, số lần lặp của vòng lặp while là không biết trước.
Trên đây là khái niệm và ví dụ cơ bản về vòng lặp while trong JavaScript. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài tiếp theo về lập trình JavaScript trên tek4 nhé!
P/s: Cảm ơn mọi người đã tin tưởng tek4!