Maximale call-stackgrootte overschreden Javascript

| | | | | | | | | | | | | | | | | |

Het is gebeurd. Je codeert een beetje en je krijgt een foutmelding in je console of in de Chrome-ontwikkelaarstools met de melding unaught rangeerror: de maximale grootte van de call-stack is overschreden… met een trace. Wat betekent dit?

Als we een recursieve functie schrijven, hebben we een basisgeval nodig om de recursieve aanroep te stoppen. Anders blijft het de recursieve functie aanroepen totdat de call-stack is uitgeput. Dit wordt een oneindige lus genoemd.

Hier is een voorbeeld van code die deze fout genereert:

We moeten het codeblok een plaats geven om te stoppen. Om dit te doen, moeten we een voorwaardelijke instructie toevoegen die het "basisgeval" van de functie zal zijn. Dit geeft aan dat de recursie stopt.

Vergeet niet om een basiscase toe te voegen aan uw recursieve functie als u van plan bent deze te gebruiken. Zo voorkom je dat je een dergelijke fout maakt!