Maksymalny rozmiar stosu połączenia przekroczył błąd w JavaScript | Wyjaśnione

Maksymalny rozmiar stosu połączenia przekroczył błąd w JavaScript | Wyjaśnione

Funkcje rekurencyjne to funkcje wywołujące metodę inną metodą. Jednak nieskończona rekurencja powoduje błąd wielkości stosu. Błąd wielkości stosu występuje z powodu oczekujących wielu żądań. Ten problem powstaje podczas wywoływania samej funkcji. Rozważając to, ten artykuł wyjaśnia, że ​​maksymalny rozmiar stosu połączeń przekracza błąd w JavaScript. Ponadto rozwiązanie jest również dostarczane w celu rozwiązania błędu.

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

  • Maksymalny rozmiar stosu połączeń przekroczył błąd w JavaScript
  • Używanie IF Warunek do rozwiązania maksymalnego rozmiaru stosu połączenia przekroczony błąd
  • Korzystanie z pętli do rozwiązania maksymalnego rozmiaru stosu połączenia przekroczony błąd.

Maksymalny rozmiar stosu połączeń przekroczył błąd w JavaScript

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

Kod

konsola.dziennik („maksymalny rozmiar stosu połączeń”);
fun_user ();
funkcja fun_user ()

fun_user ();

W tym kodzie „Maksymalny rozmiar stosu połączeń przekroczył błąd” jest generowany przez wywołanie metody „Fun_user ()” wewnątrz funkcji.

Kod wyświetla błąd jako „RangeSerror: maksymalny rozmiar stosu połączeń."

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

Rozwiązanie 1: Używanie warunków IF w celu rozwiązania maksymalnego rozmiaru stosu połączenia przekroczony błąd

Aby rozwiązać błąd, warunek IF jest stosowany w celu ograniczenia rozmiaru stosu w JavaScript. Na przykład kod podano poniżej.

Kod

var i = 1;
FUN_USER (i);
funkcja fun_user (i)
Jeśli ja <= 10)

konsola.log („Witamy w JavaScript”);
i = i+1;
FUN_USER (i);

Opis kodu jest następujący:

  • Po pierwsze, zmienna "I" jest inicjowany z wartością 1.
  • Po tym, fun_user () Metoda jest stosowana przez przekazanie zmiennej "I".
  • W tej funkcji, jeśli zastosowano warunek, który ogranicza iterację do 10.
  • Wreszcie wiadomość „Witamy w JavaScript” jest wyświetlany za pomocą "konsola.dziennik()" metoda.

Wyjście

Rozwiązanie 2: Używanie pętli do rozwiązania maksymalnego rozmiaru stosu połączenia przekroczony błąd

Aby rozwiązać błąd, do ograniczenia iteracji w JavaScript wykorzystywana jest pętla. Na przykład kod podano poniżej.

Kod

Niech wyjście = 0;
dla (niech i = 5; i> 0; i--)

wyjście += add (1, 1);

funkcja dodaj (a, b)
zwrócić A + B;

konsola.log (wyjście);

W tym kodzie:

  • Zmienna "wyjście" jest inicjowany z wartością 0.
  • Następnie do wykonania pięciu iteracji wykorzystywana jest pętla. W tej pętli, dodać() Metoda jest wywoływana przez przekazanie wartości 1.
  • Metoda dodać() Zwraca dodanie dwóch zmiennych A I B.
  • W końcudziennik() Metoda jest stosowana do wyświetlania danych wyjściowych w oknie konsoli.

Wyjście

Wyjście powraca „10” Rozwiązując błąd maksymalnego rozmiaru stosu połączeń w JavaScript.

Wniosek

Nieskończone wywołanie funkcji rekurencyjnych występuje jako „Maksymalny rozmiar stosu połączeń przekroczył błąd” W JavaScript. W tym artykule wyjaśniono powody powodowania tego rodzaju błędu. Potem dwa rozwiązania, w tym "dla pętli" I "Instrukcje warunkowe" są wykorzystywane do rozwiązania błędu. Stąd funkcje wywołujące są ograniczone poprzez zastosowanie tych rozwiązań.