Algorytmy i struktury danych · Junior · Pytanie 27 z 75
Co się stanie po wywołaniu tej funkcji?
function countdown(n) {
console.log(n);
countdown(n - 1);
}
countdown(3);- ✓Poprawna odpowiedź: Nigdy się nie zatrzyma i padnie z przepełnieniem stosu
- 2Wypisze 3, 2, 1 i normalnie się zakończy
- 3Wypisze 3, 2, 1, 0 i się zakończy
Wyjaśnienie
Nie ma przypadku bazowego w rodzaju if (n === 0) return, więc funkcja schodzi do liczb ujemnych i dalej wywołuje samą siebie. Każde wywołanie zajmuje ramkę stosu i w końcu stos się przepełnia.