Bài viết đăng tại: https://laptrinhcanban.com
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.
Dưới đây là một ví dụ:
while(true){ |
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 |
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 |
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] |
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.
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
HOME › học javascript - lập trình javascript cơ bản>>05. vòng lặp trong javascript