Thông điệp
InternalError: too much recursion
Loại lỗi
Lỗi phát sinh ra khi nào?
Một hàm gọi chính nó được gọi là hàm đệ quy . Trong một số trường hợp, đệ quy tương tự như một vòng lặp. Cả hai đều thực hiện cùng một mã nhiều lần, Và cả hai đều yêu cầu một điều kiện ( Để tránh một vòng lặp vô hạn, hoặc đúng hơn, đệ quy vô hạn trong trường hợp này ). Khi có quá nhiều hoặc vô hạn đệ quy, JavaScript sẽ ném lỗi này.
Ví dụ
Chức năng đệ quy này chạy 10 lần, theo điều kiện x >= 10 .
function loop(x) {
if (x >= 10) // "x >= 10" là điều kiện dừng
return;
// do stuff
loop(x + 1); // gọi lại chính nó (đệ quy)
}
loop(0);
Đặt điều kiện này lên một giá trị rất cao, sẽ không hoạt động:
function loop(x) {
if (x >= 1000000000000)
return;
// do stuff
loop(x + 1);
}
loop(0);
// InternalError: too much recursion