Работа с рекурсией в 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 - если это сделать,
то получится бесконечный вызов функций.