# Working with recursion in JavaScript

In programming, there is such a concept as recursion - this is when a function calls itself. Let's look at an example. Using recursion, we derive numbers from `1` to `10`:

`let i = 1; function func(){ console.log(i); i++; if (i <= 10){ func(); // here the function calls itself } } func();`

Let's discuss how this code works.

We have the global variable `i` and the function `func`, inside which the contents of the variable `i` are displayed to the console, and then `++` is performed.

If our variable `i` is less than or equal to `10`, then the function is called again. Since the variable `i` is global, then with each new call to the function it will contain the value of the variable `i` specified in the previous call.

It turns out that the function will call itself until `i` becomes greater than `10`.

Please note that in our case it is impossible to run the function without `if` - if you do this, you will get an endless functions call.

← →
↑
en ru