Vòng lặp vô hạn trong JavaScript | Laptrinhcanban.com

HOME › >>

Vòng lặp vô hạn trong JavaScript

Cùng tìm hiểu về vòng lặp vô hạn trong JavaScript. Bạn sẽ biết vòng lặp vô hạn trong JavaScript là gì, cách tạo ra vòng lặp vô hạn trong JavaScript cũng như là cách thoát khỏi vòng lặp vô hạn trong JavaScript sau bài học này.

Vòng lặp vô hạn trong JavaScript là gì

Vòng lặp vô hạn trong JavaScript là một chuỗi các lệnh mà khi được viết ra sẽ kéo dài vô tận, trừ khi có sự can thiệp từ bên ngoài. Vòng lặp vô hạn có thể được thực hiện một cách có chủ đích.

Đại diện tiêu biểu cho vòng lặp vô hạn trong JavaScript là lệnh while true trong JavaScript khi không được kèm điều kiện để thoát vòng lặp.

Vòng lặp vô hạn trong JavaScript

Dưới đây là một ví dụ:

while(true){
console.log("hello");
}

Nếu chạy lệnh trên, do biểu thức điều kiện của lệnh while luôn là True (đúng) mà không có biểu thức nào để thay đổi nó cả, nên dòng chữ hello sẽ được in ra màn hình mãi mãi.

hello
hello
hello
hello
hello
hello
hello
hello
hello
hello
.....
.....

Cách tạo ra vòng lặp vô hạn trong JavaScript

Ngoại trừ những trường hợp đặc biệt thì trong phần lớn các trường hợp, chúng ta đã vô tình tạo ra vòng lặp vô hạn trong JavaScript trong các lỗi logic khi xử lý vòng lặp.

Ví dụ, bạn có thể vô tình tạo ra vòng lặp vô hạn khi sử dụng lệnh while trong JavaScript. Khác với lệnh for trong JavaScript chỉ lặp lại đúng số lần bằng chỉ định trong biến đếm thì lệnh while trong JavaScript sẽ lặp liên tục chừng nào biểu thức điều kiện của nó vẫn còn True (đúng).

Nói cách khác, nếu bạn vô tình chỉ định biểu thức điều kiện trong lệnh while luôn True (đúng), lệnh while lúc này sẽ tạo ra một vòng lặp vô hạn trong JavaScript.

Dưới đây là một ví dụ bạn đã vô tình tạo ra vòng lặp vô hạn trong JavaScript với lệnh while:

let num = 0
while( num < 4 ){
if (num == 2){
console.log('!!CONTINUE!!');
continue;
}
console.log(num);
num ++;
}

//> 0
//> 1
//> !!CONTINUE!!
//> !!CONTINUE!!
//> !!CONTINUE!!
//>> ...........
//>> ...........

Trong câu lệnh trên, mục đích của chúng ta là bỏ qua lượt lặp khi num = 2, tuy nhiên do giá trị của num trong trường hợp num=2 không được thay đổi và luôn bằng 2, dẫn đến biểu thức điều kiện num <4 luôn đúng và BOOM, bạn đã vô tình tạo ra vòng lặp vô hạn trong JavaScript.

Bạn cũng có thể vô tính tạo ra vòng lặp vô hạn khi sử dụng lệnh for trong JavaScript. Dưới đây là một ví dụ:

let myarray = [0] 

for (let i = 0; i< myarray.length;i++){
console.log(i);
myarray.push(i + 1);
}
//> 0
//> 1
//> 2
//> 3
//> 4
//> .................
//> .................

Khi thực hiện câu lệnh trên, bạn muốn thêm phần tử vào trong một danh sách, tuy nhiên việc thêm này không có điểm dừng do biểu thức điều kiện i< myarray.length nhằm kiểm tra phần tử tồn tại trong list luôn True. Và BOOM, bạn đã vô tình tạo ra vòng lặp vô hạn trong JavaScript.

Một vòng lặp vô hạn trong JavaScript sẽ không có điểm dừng, dẫn đến chương trình không bao giờ được kết thúc và vô tình tiêu tốn rất nhiều bộ nhớ máy tính và CPU.. Các tác hại của nó có thể kể đến như:

  • Trình duyệt bị đóng băng
  • Không thể đóng lại trang đang mở
  • Có trường hợp chúng ta phải khởi động lại máy tính

Vòng lặp vô hạn giống như đại dịch covid sẽ tiêu diệt toàn bộ nhân loại nếu chúng ta không để ý đến nó vậy. Do đó khi sử dụng vòng lặp trong JavaScript, hãy chú ý để không vô tình tạo ra một vòng lặp vô hạn. Trong trường hợp bạn cần sử dụng tới vòng lặp vô hạn trong JavaScript, hãy đảm bảo rằng mình đã chuẩn bị một cách để thoát ra khỏi vòng lặp vô hạn đó.

Cách thoát khỏi vòng lặp vô hạn trong JavaScript

Về cơ bản, cách tốt nhất để thoát khỏi vòng lặp vô hạn trong JavaScript đó là bạn ĐỪNG tạo ra nó. Trong trường hợp bạn cần sử dụng tới vòng lặp vô hạn trong JavaScript, hãy đảm bảo rằng mình đã chuẩn bị một cách để thoát ra khỏi vòng lặp vô hạn đó bằng cách thêm biểu thức điều kiện, dùng lệnh if hoặc lệnh break bên trong vòng lặp.

Tuy nhiên, giả sử nếu bạn lỡ chạy một vòng lặp vô hạn trong JavaScript thì cũng đừng lo lắng. Nếu bạn đang sử dụng trình duyệt Chrome thì Chúng ta có thể chấm dứt chương trình đó bằng cách mở trình quản lý tác vụ Google Chrome Task Manager bằng tổ hợp phím nóng như sau:

Trình duyệt Chrome: SHIFT + ESC

Khi đó màn hình Google Chrome Task Manager sẽ hiện ra. Chúng ta chọn tag đang bị đóng băng do vòng lặp vô hạn trong JavaScript và chọn đóng nó là xong.

Cách thoát khỏi vòng lặp vô hạn trong JavaScript

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về vòng lặp vô hạn trong JavaScript, cách tạo ra cũng như là cách thoát khỏi vòng lặp vô hạn trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/javascript/javascript-co-ban-den-nang-cao/vong-lap-trong-javascript/vong-lap-vo-han-trong-javascript/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.