Algorithmen und Datenstrukturen · Middle · Frage 51 von 75
Wie vermeidet man in JavaScript einen Stack Overflow bei tiefer Rekursion?
- 1Die rekursive Funktion als
asyncmarkieren - 2Den rekursiven Aufruf in
try...catchpacken - 3Mit Schleife und explizitem Stack umschreiben
Antwort zeigen
Richtige Antwort: Mit Schleife und explizitem Stack umschreiben
Erklärung
JavaScript-Engines (außer Safari) setzen keine Tail-Call-Optimierung um, der Call Stack ist also auf grob zehntausend Frames begrenzt. Ein explizites Array als Stack lebt auf dem Heap und kann viel größer werden.