Práce s rekurzí v JavaScriptu
V programování existuje pojem
rekurze - to je, když funkce volá
sama sebe. Podívejme se na příklad.
Vypišme pomocí rekurze čísla od 1
do 10:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // zde funkce volá sama sebe
}
}
func();
Pojďme si prodiskutovat, jak tento kód funguje.
Máme globální proměnnou i
a funkci func, uvnitř které se do konzole
vypíše obsah proměnné i,
a poté se provede ++.
Pokud je naše proměnná i menší nebo
rovna 10, je funkce volána znovu.
Protože proměnná i je globální,
tak při každém novém volání funkce v ní
bude hodnota proměnné i nastavená při předchozím volání.
Výsledkem bude, že funkce bude volat sama
sebe, dokud i nebude
větší než 10.
Mějte na paměti, že v našem případě nelze funkci
spustit bez if - pokud to uděláte,
vznikne nekonečné volání funkcí.