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:

javascriptlet 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í.