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

← →
↑
en ru