Работа с рекурсия в JavaScript
В програмирането съществува понятието
рекурсия - това е, когато функция извиква
сама себе си. Нека да разгледаме пример.
Извеждане на числа от 1 до 10 с помощта на рекурсия:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // тук функцията извиква сама себе си
}
}
func();
Нека да обсъдим как работи този код.
Имаме глобална променлива i
и функция func, вътре в която в конзолата
се извежда съдържанието на променливата i,
а след това се извършва ++.
Ако нашата променлива i е по-малка или
равна на 10, функцията се извиква отново.
Тъй като променливата i е глобална,
при всяко ново извикване на функцията в нея
ще има зададената при предишното извикване стойност
на променливата i.
Ще се получи, че функцията ще продължи да извиква сама
себе си, докато i не стане
по-голяма от 10.
Имайте предвид, че в нашия случай не можем да изпълним функцията
без if - ако се направи това,
ще се получи безкрайно извикване на функции.