MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Bản dịch này chưa hoàn thành. Xin hãy giúp dịch bài viết này từ tiếng Anh.

Thông điệp

InternalError: too much recursion

Loại lỗi

InternalError.

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

Xem thêm

Document Tags and Contributors

 Những người đóng góp cho trang này: tuanticker
 Cập nhật lần cuối bởi: tuanticker,