Работа с рекурсия в JavaScript

В програмирането съществува понятието рекурсия - това е, когато функция извиква сама себе си. Нека да разгледаме пример. Извеждане на числа от 1 до 10 с помощта на рекурсия:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // тук функцията извиква сама себе си
  }
}
func();

Нека да обсъдим как работи този код.

Имаме глобална променлива i и функция func, вътре в която в конзолата се извежда съдържанието на променливата i, а след това се извършва ++.

Ако нашата променлива i е по-малка или равна на 10, функцията се извиква отново. Тъй като променливата i е глобална, при всяко ново извикване на функцията в нея ще има зададената при предишното извикване стойност на променливата i.

Ще се получи, че функцията ще продължи да извиква сама себе си, докато i не стане по-голяма от 10.

Имайте предвид, че в нашия случай не можем да изпълним функцията без if - ако се направи това, ще се получи безкрайно извикване на функции.