Rekursive funksjoner er funksjoner som kaller en metode innen en annen metode. Imidlertid forårsaker uendelig rekursjon en feilstørrelsesfeil. Stabelstørrelsesfeilen oppstår på grunn av verserende av mange forespørsler. Dette problemet oppstår når du kaller funksjonen selv. Ved å vurdere det, forklarer denne artikkelen at den maksimale samtalestabelstørrelsen overstiger feilen i JavaScript. Videre er løsningen også gitt for å løse feilen.
Artikkelen tjener oss som følger:
Maksimal samtale stabel størrelse overskredet feil i JavaScript
Stabelstørrelsen overskredet feil når brukeren kaller den rekursive funksjonen. Denne typen feil oppstår på grunn av gjentatte ganger å påkalle en metode. De FUN_USER () brukes som en rekursiv samtale i funksjonen FUN_USER () I JavaScript for å generere en feil i konsollvinduet.
Kode
konsoll.Logg ("Maksimal samtale stabelstørrelse overskredet");
FUN_USER ();
funksjon FUN_USER ()
FUN_USER ();
I denne koden, “Maksimal anropsstørrelse overskred feil” genereres ved å ringe en metode “FUN_USER ()” inne i funksjonen.
Koden viser feilen som “RangeError: Maksimal størrelse på samtalestabelen overskredet.”
Det er mange måter å løse denne feilen på, for eksempel for sløyfe og betingede uttalelser, som kan brukes til å begrense funksjonssamtalen.
Løsning 1: Bruke IF -tilstand for å løse den maksimale samtalestabelstørrelsen overskredet feil
For å løse feilen, blir IF -tilstanden brukt for å begrense stabelstørrelsen i JavaScript. For eksempel er koden gitt nedenfor.
Kode
var i = 1;
FUN_USER (I);
funksjon FUN_USER (i)
hvis jeg <= 10)
konsoll.Logg ('Velkommen til JavaScript');
i = i+1;
FUN_USER (I);
Beskrivelsen av koden er som følger:
Produksjon
Løsning 2: Bruke for sløyfe for å løse den maksimale samtalestabelstørrelsen overskredet feil
For å løse feilen, brukes en for loop for å begrense iterasjonene i JavaScript. For eksempel er koden gitt nedenfor.
Kode
La utgang = 0;
for (la i = 5; i> 0; i--)
utgang += legg til (1, 1);
funksjon Legg til (a, b)
returner A + B;
konsoll.logg (utgang);
I denne koden:
Produksjon
Utgangen kommer tilbake “10” Ved å løse feilen med maksimal samtale stabelstørrelse i JavaScript.
Konklusjon
Det uendelige kallet av rekursive funksjoner skjer som “Maksimal anropsstørrelse overskred feil” I JavaScript. Denne artikkelen forklarer årsakene til å forårsake denne typen feil. Etterpå to løsninger, inkludert “For loop” og “Betingede uttalelser” brukes til å løse feilen. Derfor er anropsfunksjonene begrenset ved å bruke disse løsningene.