Kích thước ngăn xếp cuộc gọi tối đa đã vượt quá Lỗi trong JavaScript | Giải thích

Kich Thuoc Ngan Xep Cuoc Goi Toi Da Da Vuot Qua Loi Trong Javascript Giai Thich



Các hàm đệ quy là các hàm gọi một phương thức trong một phương thức khác. Tuy nhiên, đệ quy vô hạn gây ra lỗi kích thước ngăn xếp. Lỗi kích thước ngăn xếp xảy ra do nhiều yêu cầu đang chờ xử lý. Vấn đề này phát sinh khi gọi chính hàm. Bằng cách xem xét nó, bài viết này giải thích rằng kích thước ngăn xếp cuộc gọi tối đa vượt quá lỗi trong JavaScript. Hơn nữa, giải pháp cũng được cung cấp để giải quyết lỗi.

Bài viết phục vụ chúng tôi như sau:







  • Kích thước ngăn xếp cuộc gọi tối đa đã vượt quá lỗi trong JavaScript
  • Sử dụng if Condition để giải quyết lỗi vượt quá kích thước ngăn xếp cuộc gọi tối đa
  • Sử dụng vòng lặp for để giải quyết lỗi vượt quá kích thước ngăn xếp cuộc gọi tối đa.

Kích thước ngăn xếp cuộc gọi tối đa đã vượt quá lỗi trong JavaScript

Lỗi vượt quá kích thước ngăn xếp xảy ra khi người dùng gọi hàm đệ quy. Loại lỗi này xảy ra do liên tục gọi một phương thức. Các fun_user () được sử dụng như một lời gọi đệ quy bên trong hàm fun_user () trong JavaScript để tạo ra lỗi trong cửa sổ bảng điều khiển.



Mã số



console.log ( 'Đã vượt quá kích thước ngăn xếp cuộc gọi tối đa' ) ;
fun_user ( ) ;
hàm số fun_user ( )
{
fun_user ( ) ;
}





Trong mã này, 'Đã vượt quá lỗi kích thước ngăn xếp cuộc gọi tối đa' được tạo ra bằng cách gọi một phương thức “Fun_user ()” bên trong hàm.



Mã hiển thị lỗi là “RangeError: Đã vượt quá kích thước ngăn xếp cuộc gọi tối đa.”

Có nhiều cách để giải quyết lỗi này, chẳng hạn như vòng lặp for câu điều kiện , có thể được sử dụng để giới hạn lệnh gọi hàm.

Giải pháp 1: Sử dụng if Condition để giải quyết lỗi vượt quá kích thước ngăn xếp cuộc gọi tối đa

Để giải quyết lỗi, điều kiện if được áp dụng để hạn chế kích thước ngăn xếp trong JavaScript. Ví dụ, mã được đưa ra dưới đây.

Mã số

tôi = 1 ;
fun_user ( tôi ) ;
hàm số fun_user ( tôi ) {
nếu ( tôi < = 10 )
{
console.log ( 'Chào mừng đến với JavaScript' ) ;
tôi = i + 1 ;
fun_user ( tôi ) ;
} }

Mô tả của mã như sau:

  • Thứ nhất, một biến 'tôi' được khởi tạo với giá trị 1.
  • Sau đó, fun_user () phương thức được sử dụng bằng cách chuyển biến 'tôi'.
  • Trong hàm này, nếu điều kiện được áp dụng hạn chế việc lặp lại 10 .
  • Cuối cùng, tin nhắn “Chào mừng bạn đến với JavaScript” được hiển thị bằng cách sử dụng “Console.log ()” phương pháp.

Đầu ra

Giải pháp 2: Sử dụng for Loop để giải quyết lỗi vượt quá kích thước ngăn xếp cuộc gọi tối đa

Để giải quyết lỗi, vòng lặp for được sử dụng để giới hạn số lần lặp lại trong JavaScript. Ví dụ, mã được đưa ra dưới đây.

Mã số

để cho đầu ra = 0 ;
( để cho tôi = 5 ; tôi > 0 ; tôi-- )
{
đầu ra + = thêm ( 1 , 1 ) ;
}
hàm số cộng ( a, b ) {
trở về a + b;
}
console.log ( đầu ra ) ;

Trong mã này:

  • Biến 'Đầu ra' được khởi tạo với giá trị 0.
  • Sau đó, một vòng lặp for được sử dụng để thực hiện năm lần lặp. Trong vòng lặp này, cộng() phương thức được gọi bằng cách truyền giá trị 1.
  • Phương pháp cộng() trả về việc bổ sung hai biến một b .
  • Cuối cùng, log () được sử dụng để hiển thị đầu ra trong cửa sổ giao diện điều khiển.

Đầu ra

Kết quả trả về “10” bằng cách giải quyết lỗi kích thước ngăn xếp cuộc gọi tối đa trong JavaScript.

Sự kết luận

Việc gọi vô hạn các hàm đệ quy xảy ra như 'Đã vượt quá lỗi kích thước ngăn xếp cuộc gọi tối đa' trong JavaScript. Bài viết này giải thích các lý do gây ra loại lỗi này. Sau đó, hai giải pháp, bao gồm 'Vòng lặp for' 'câu điều kiện' được sử dụng để giải quyết lỗi. Do đó, các chức năng gọi bị hạn chế bằng cách sử dụng các giải pháp này.