Въведение в рекурсивната функция в JavaScript

Javascript е преводач и скриптов език на високо ниво, който е основата на HTML и уеб-базиран език за програмиране. Рекурсивна функция е тази, която се обажда, за да генерира очакван резултат. За по-лесно разбиране можете да помислите за фабриката на числова функция, която може да бъде цитирана като перфектен пример за функция на рекурсия в Javascript. В тази тема ще научим за рекурсивната функция в JavaScript.

Рекурсията се дефинира и като модел на програмиране, който често е полезен в случаите, когато конкретен случай или задача могат лесно да бъдат разделени на няколко по-малки подзадачи, които са от един и същи вид, но разбира се, много по-опростени по своята същност. Всеки път, когато дадена функция изпълнява определена задача, тя може да извиква много функции като междинни продукти за обработка, а когато се справя сама, се нарича рекурсивна функция.

Синтаксис на рекурсивна функция

function func_name(var1, var2) (
//variable declaration
// code block and actual logic
for (initialisation; condition)
)
//loop code block and returning the result
)
//recursively calling a function
func_name(num1, num2)

обяснение

  • В синтаксиса, обяснен по-горе, ние се опитахме да разберем концепцията за рекурсивни функции в Javascript, като използваме за циклична конструкция. В началото сме декларирали функция от името на func_name, която формира основното ни образувание и всички следващи кодове ще бъдат записани вътре в този функционален блок.
  • След това в името на функцията предаваме два параметъра чрез имената на var1 и var2, което обяснява променливите и техните стойности. След това идва частта за деклариране на променлива, в която ще запишем променливите и други стойности, необходими за нашата кодова логика и ще публикуваме, че ще бъде приложена действителната логика на кода.
  • В този случай ние използваме за цикъл, за да напишем нашия логически блок на кода. След като кодът е написан, възниква необходимост да се повтори това функционално изявление, т.е. рекурсивно да извика този функционален блок, който в този случай е func_name, и следователно ще предаваме две стойности на аргумент от число като параметри в func_name извън цикъл за for, така че функцията се извиква отново, докато и освен ако приетите стойности не се консумират.
  • Ето как в JavaScript се реализира рекурсионна функция. Тук трябва да се отбележи, че ние не използваме итеративно условие за цикъл, тъй като това условие ще бъде изпълнено от рекурсивната функция в неговия призив.

Как функционира рекурсивната функция в JavaScript?

Тъй като JavaScript е уеб-ориентиран език, рекурсивната функция може да бъде реализирана чрез използване на цикъл или чрез цикъл. В случай на рекурсивна функция, основната цел на програмата е да намали основната задача в много по-малки подзадачи, докато подзадачата не изпълни условието и не успее да въведе вътре в цикъла или който и да е блок от кодове, записан във функцията, Не е необходимо всеки цикличен оператор да се използва за реализиране на рекурсия, но може да се направи и чрез използване на условни блокове от оператори, като if-else конструкции.

Примери за рекурсивна функция в JavaScript

Нека разберем това с помощта на различни примери.

Пример №1

Нека разберем това с функция pow, която е стенограмата за мощност. В този пример ще четем за pow (a, b), който повишава силата на a до естественото число на b. ако говорите с други думи, това означава, че a трябва да се умножи по b b пъти.

//declaration of function power
function pow(a, b) (
//writing if condition and checking if it has broken into simplest task already
if (b == 1) (
//returning the value which needs to be reiterated
return a;
) else (
return a * pow(a, b - 1);
)
)
//recursively calling the function pow by passing two values to process
alert( pow(2, 3) );

изход:

В този пример рекурсивно извикваме функцията pow и изчисляваме силата на 2, 3 пъти, което трябва да доведе до резултат 8. Когато pow се извиква, блокът за изпълнение се разделя на две категории въз основа на условни оператори. Първият ще говори за оператора if, където ако a == 1 = b, а вторият се отнася до другата част на блока, където a се умножава по резултата от силата на a и b-1.

Пример №2

В този втори пример ще проучим още един много популярен пример за рекурсивната функция. Известно е като намиране на факториал на число. Когато говорите за намирането на фактория на число, имате предвид умножаването на числото и всички последващи намаляващи стойности на него до 1.

Формулата за фрагмент за намиране на фактория на число е:

b! = 1 iff b=0
else if (b-1)! *b iff b>0

Нека се опитаме да разберем тази формула с помощта на пример. Фабриката на 4 е 4 * 3 * 2 * 1 = 24.

Код:

//declaring a function func
function fact(b) (
//declaring a variable
var res = 1;
//for loop to find the factorial of the number
for (let i = b; i > 1; i--) (
//fetching and consolidating the result statement
res *= i;
)
//returning the result which contains the factorial of the number b
return res;
)

изход:

В кода, обяснен по-горе, факторът ще бъде изваден от всяка стойност, която е предадена във функцията, наречена факт, и стойността res ще бъде отговорна за изчисляването на стойността.

Пример №3

В този пример ще видим как рекурсионната функция се използва при внедряването на броячи чрез използване на контура if-else.

Код:

//declaring a function value
var Cdown = function(val) (
//checking if the value is greater than 0
if (val > 0) (
//documenting and logging the console output
console.log(val);
return Cdown(val - 1);
) else (
return val;
)
);
Cdown(5);

изход:

В този пример стойността 5 ще бъде регистрирана като изход на функцията Cdown и ще изчисли факторната.

Препоръчителни статии

Това е ръководство за рекурсивна функция в JavaScript. Тук обсъждаме синтаксиса му и как работи рекурсивната функция в JavaScript, заедно с различни примери. Можете също да разгледате следната статия, за да научите повече -

  1. Модели в JavaScript
  2. За Loop в JavaScript
  3. JavaScript обекти
  4. Декларация на случая в JavaScript