cách sử dụng vòng lặp while và vòng lặp do while trong javascript, cach su dung vong lap while va vong lap do while trong javascript
cách sử dụng vòng lặp while và vòng lặp do while trong javascript,cach su dung vong lap while va vong lap do while trong javascript
- Trước khi nêu khái niệm "vòng lặp while là gì?" thì tôi có một ví dụ để giúp bạn có thể hình dung sơ qua về vòng lặp while.
- Bạn đưa ra một điều kiện, nếu điều kiện đó là sai thì kết thúc, còn nếu đúng thì một đoạn mã sẽ được thực thi và bạn tiếp tục quay lại kiểm tra điều kiện, nếu điều kiện đó là sai thì kết thúc, còn nếu đúng thì một đoạn mã sẽ được thực thi và bạn tiếp tục quay lại kiểm tra điều kiện . . . .
- Hành động đó cứ lặp đi lặp lại mãi cho đến khi bạn kiểm tra thấy điều kiện là sai thì kết thúc.
==> ĐÓ CHÍNH LÀ VÒNG LẶP WHILE
- Vòng lặp while dùng để lặp lại việc thực thi một đoạn mã nếu điều kiện mà ta đưa ra vẫn còn đúng.
- Cú pháp:
- Dưới đây là sơ đồ minh họa cho nguyên lý hoạt động của vòng lặp while:
- Lưu ý: Tương tự như vòng lặp for, nếu điều kiện của vòng lặp luôn luôn đúng thì vòng lặp sẽ không bao giờ kết thúc và nó khiến chương trình bị lỗi. Do đó, bên trong đoạn mã mà bạn muốn thực thi, bạn phải nghiên cứu thêm vào một số câu lệnh nào đó để làm cho điều kiện dần dần trở thành bị sai.
Dùng vòng lặp while để hiển thị dãy số tăng dần từ một đến chín
<script> var i = 1; while(i < 10){ document.write(i + "<br>"); i++; //Câu lệnh này giúp cho điều kiện dần trở thành bị SAI } </script>
Dùng vòng lặp while để hiển thị dãy số giảm dần từ tám xuống hai
<script> var i = 8; while(i > 1){ document.write(i + "<br>"); i--; //Câu lệnh này giúp cho điều kiện dần trở thành bị SAI } </script>
- Tương tự như vòng lặp while, vòng lặp do while dùng để lặp lại việc thực thi một đoạn mã nếu điều kiện mà ta đưa ra vẫn còn đúng.
- Tuy nhiên, đối với vòng lặp do while thì ở lần đầu tiên đoạn mã sẽ được thực thi luôn mà không cần phải kiểm tra điều kiện (đó chính là điểm khác nhau giữa vòng lặp while và do while)
- Cú pháp:
- Dưới đây là sơ đồ minh họa cho nguyên lý hoạt động của vòng lặp do while:
Dùng vòng lặp do while để hiển thị dãy số tăng dần từ một đến chín
<script> var i = 1; do{ document.write(i + "<br>"); i++; //Câu lệnh này giúp cho điều kiện dần trở thành bị SAI }while(i < 10); </script>
Dùng vòng lặp do while để hiển thị dãy số giảm dần từ tám xuống hai
<script> var i = 8; do{ document.write(i + "<br>"); i--; //Câu lệnh này giúp cho điều kiện dần trở thành bị SAI }while(i > 1); </script>
- Như đã nói ở trên, điểm khac nhau duy nhất giữa vòng lặp while và do while chính là đối với vòng lặp do while thì ở lần đầu tiên, đoạn mã sẽ được thực thi mà không cần phải kiểm tra điều kiện (tức là cho dù điều kiện có đúng hay sai thì đoạn mã vẫn được thực thi ít nhất một lần)
- Ví dụ: Bên dưới chúng ta có một đoạn mã về vòng lặp while và một đoạn mã về vòng lặp do whiile, điều kiện ban đầu đưa ra là sai. Tuy nhiên, vòng lặp do whiile vẫn được thực thi một lần.
<script> var i = 11; while(i < 10){ document.write(i); i++; } </script> |
<script> var i = 11; do{ document.write(i); i++; }while(i < 10); </script> |
- Lệnh break và lệnh continue thường được đặt bên trong vòng lặp.
Dùng vòng lặp while để hiển thị dãy số từ một đến mười, tuy nhiên hiển thị tới số năm thì dừng lại
<script> var i = 1; while(i < 11){ if(i == 6){break;} document.write(i + "<br>"); i++; } </script>
Dùng vòng lặp while để hiển thị dãy số từ một đến mười (ngoại trừ số: ba, năm, chín)
<script> var i = 1; while(i < 11){ if( i == 3 || i ==5 || i ==9 ){ i++; continue; } document.write(i + "<br>"); i++; } </script>
- Tương tự như vòng lặp for, vòng lặp while (do while) cũng có thể lồng vào nhau:
- Bên dưới là một ví dụ về vòng lặp while lồng bên trong vòng lặp while.
<script> var i = 0; while(i < 10){ var j = 1; while(j < 10){ document.write(i + "" + j + "<br>"); j++; } i++; } </script>
- Ta có thể sử dụng vòng lặp while để lặp qua một lần các phần tử trong mảng.
<script> var mobile = ["HTC","Nokia","SamSung","LG","Apple","Lenovo"]; var i = 0; while(mobile[i]){ document.write(mobile[i] + "<br>"); i++; } </script>