09/10/2018, 23:58

Dùng đệ quy trong JavaScript

Mình tính sửa dụng đệ quy trong JavaScript bằng việc sử dụng setTimeout để delay thời gian và gọi lại chính hàm hiện tại. Nếu để lâu không ngưng việc đệ quy lại thì có làm ảnh hưởng gì xấu tới trang Web không? Ví dụ làm tràn bộ nhớ hay đại loại như vậy. Bạn nào rành cho mình biết nha, cám ơn nhiều lắm
3do viết 02:00 ngày 10/10/2018
bạn test thử 1 phát là ra liền. Việc tràn bộ nhớ còn căn cứ theo lượng biến mà function lưu trữ và thời khoảng và settimeout được gọi lại là trong bao lâu nữa. Theo quan điểm của tôi, bộ nhớ hiện giờ rất lớn. Chờ đến khi bị tràn cũng hơi bị khó.

Bạn có thể gửi code của bạn lên để mọi người cùng xem xét
tuhack viết 02:08 ngày 10/10/2018
Được gửi bởi 3do
bạn test thử 1 phát là ra liền. Việc tràn bộ nhớ còn căn cứ theo lượng biến mà function lưu trữ và thời khoảng và settimeout được gọi lại là trong bao lâu nữa. Theo quan điểm của tôi, bộ nhớ hiện giờ rất lớn. Chờ đến khi bị tràn cũng hơi bị khó.

Bạn có thể gửi code của bạn lên để mọi người cùng xem xét
Cám ơn bạn đã trả lời, đoạn code mẫu của mình đây:

Code:
<script language="javascript" type="text/javascript">
        var timeout;
        function loop_forever()
        {
            //do something...
            timeout = setTimeout("loop_forever();",1);
        }
       
    </script>
ducuytran viết 02:02 ngày 10/10/2018
Còn tùy thuộc bạn muốn đệ quy cái hàm í mấy lần hoặc bao lâu. Nên thêm 1 biến count và xét điều kiện để dừng.
temp2 viết 02:13 ngày 10/10/2018
các browser đều có tính năng thông báo nếu JS tràn bộ nhớ, lỗi bộ đệm... nói chung là các vấn đề liên quan đến CPU & RAM => nếu bạn test mà ko thấy báo lỗi gì hết thì cứ vô tư
Duy Cuong win viết 02:05 ngày 10/10/2018
cái hàm nhìn nặng nề vô cùng, ko biết mục đích làm gì đây ??
trungtd_vtic viết 02:11 ngày 10/10/2018
loop vậy để làm gì. 1/1000 s thực hiện 1 lần thì bộ nhớ to mấy cũng chết.
Bài liên quan
0