Błąd przekroczenia maksymalnego rozmiaru stosu wywołań w JavaScript | Wyjaśniono

Blad Przekroczenia Maksymalnego Rozmiaru Stosu Wywolan W Javascript Wyjasniono



Funkcje rekurencyjne to funkcje, które wywołują metodę w innej metodzie. Jednak nieskończona rekursja powoduje błąd rozmiaru stosu. Błąd rozmiaru stosu występuje z powodu oczekujących wielu żądań. Ten problem pojawia się podczas wywoływania samej funkcji. Biorąc to pod uwagę, ten artykuł wyjaśnia, że ​​maksymalny rozmiar stosu wywołań przekracza błąd w JavaScript. Ponadto zapewniono również rozwiązanie w celu rozwiązania błędu.

Artykuł służy nam w następujący sposób:







  • Błąd przekroczenia maksymalnego rozmiaru stosu wywołań w JavaScript
  • Używanie if Condition do rozwiązania błędu przekroczenia maksymalnego rozmiaru stosu wywołań
  • Użycie pętli for do rozwiązania błędu przekroczenia maksymalnego rozmiaru stosu wywołań.

Błąd przekroczenia maksymalnego rozmiaru stosu wywołań w JavaScript

Błąd przekroczenia rozmiaru stosu występuje, gdy użytkownik wywołuje funkcję rekurencyjną. Ten rodzaj błędu występuje z powodu wielokrotnego wywoływania metody. The użytkownik_zabawy() jest używany jako wywołanie rekurencyjne wewnątrz funkcji użytkownik_zabawy() w JavaScript, aby wygenerować błąd w oknie konsoli.



Kod



konsola.log ( „Przekroczono maksymalny rozmiar stosu wywołań” ) ;
fajny_użytkownik ( ) ;
funkcjonować fajny_użytkownik ( )
{
fajny_użytkownik ( ) ;
}





W tym kodzie błąd „przekroczono maksymalny rozmiar stosu wywołań” jest generowany przez wywołanie metody „zabawny_użytkownik()” wewnątrz funkcji.



Kod wyświetla błąd jako „RangeError: przekroczono maksymalny rozmiar stosu wywołań”.

Istnieje wiele sposobów rozwiązania tego błędu, na przykład dla pętli oraz Instrukcje warunkowe , którego można użyć do ograniczenia wywołania funkcji.

Rozwiązanie 1: Używanie if Condition do rozwiązania błędu przekroczenia maksymalnego rozmiaru stosu wywołań

Aby rozwiązać ten błąd, stosowany jest warunek if w celu ograniczenia rozmiaru stosu w JavaScript. Na przykład kod znajduje się poniżej.

Kod

był i = 1 ;
fajny_użytkownik ( i ) ;
funkcjonować fajny_użytkownik ( i ) {
jeśli ( i < = 10 )
{
konsola.log ( „Witamy w JavaScript” ) ;
i =i+ 1 ;
fajny_użytkownik ( i ) ;
} }

Opis kodu jest następujący:

  • Po pierwsze, zmienna 'i' jest inicjowany wartością 1.
  • Po tym, użytkownik_zabawy() metoda jest stosowana poprzez przekazanie zmiennej 'i'.
  • W tej funkcji, jeśli zostanie zastosowany warunek, który ogranicza iterację do 10 .
  • Wreszcie wiadomość „Witamy w JavaScript” jest wyświetlany za pomocą „konsola.log()” metoda.

Wyjście

Rozwiązanie 2: Używanie for Loop do rozwiązania błędu przekroczenia maksymalnego rozmiaru stosu wywołań

Aby rozwiązać ten błąd, wykorzystywana jest pętla for ograniczająca iteracje w JavaScript. Na przykład kod znajduje się poniżej.

Kod

wynajmować wyjście = 0 ;
dla ( wynajmować ja = 5 ; i > 0 ; i-- )
{
wyjście += dodaj ( 1 , 1 ) ;
}
funkcjonować Dodaj ( a, b ) {
zwrócić a + b;
}
konsola.log ( wyjście ) ;

W tym kodzie:

  • Zmienna 'wyjście' jest inicjowany wartością 0.
  • Następnie pętla for jest wykorzystywana do wykonania pięciu iteracji. W tej pętli Dodaj() metoda jest wywoływana przez przekazanie wartości 1.
  • Metoda Dodaj() zwraca dodanie dwóch zmiennych a oraz b .
  • W końcu dziennik() Metoda służy do wyświetlania danych wyjściowych w oknie konsoli.

Wyjście

Wyjście powraca „10” rozwiązując błąd maksymalnego rozmiaru stosu wywołań w JavaScript.

Wniosek

Nieskończone wywoływanie funkcji rekurencyjnych występuje jako błąd „przekroczono maksymalny rozmiar stosu wywołań” w JavaScript. W tym artykule wyjaśniono przyczyny powodowania tego typu błędu. Następnie dwa rozwiązania, w tym 'dla pętli' oraz 'Instrukcje warunkowe' są wykorzystywane do rozwiązania błędu. W związku z tym funkcje wywołujące są ograniczone przez zastosowanie tych rozwiązań.