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