Введение в рекурсивную функцию в 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, которые объясняют переменные и их значения. После этого идет часть объявления переменных, где мы запишем переменные и другие значения, необходимые для нашей логики кода, и напишем, что фактическая логика кода будет реализована.
  • В этом случае мы используем цикл for для написания нашего логического блока кода. Как только код написан, возникает необходимость повторить этот оператор функции, т.е. рекурсивно вызвать тот функциональный блок, который в этом случае является func_name, и поэтому мы будем передавать два числовых аргумента в качестве параметров в func_name вне цикла for, так что функция вызывается снова до тех пор, пока не будут использованы переданные значения.
  • Вот как функция рекурсии реализована в JavaScript. Здесь следует отметить один момент: мы не используем итеративное условие в цикле for, поскольку это условие будет обработано рекурсивной функцией при ее вызове.

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

Поскольку JavaScript является веб-ориентированным языком, рекурсивную функцию можно реализовать, используя цикл for или цикл while. В случае рекурсивной функции основной целью программы является уменьшение основной задачи на множество мелких подзадач до тех пор, пока подзадача не будет соответствовать условию и не сможет войти в цикл или любой блок кода, записанный внутри функции., Нет необходимости в том, чтобы какой-либо оператор цикла использовался для реализации рекурсии, но это также можно сделать, используя условные блоки операторов, такие как конструкции if-else.

Примеры рекурсивной функции в JavaScript

Позвольте нам понять это с помощью различных примеров.

Пример № 1

Давайте поймем это с помощью функции pow, которая является сокращенной формой для власти. В этом примере мы будем читать о pow (a, b), который увеличивает степень a до натурального числа b. если вы говорите другими словами, это означает, что a нужно умножить на себя 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, где 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;
)

Выход:

В приведенном выше коде факториал будет извлечен из любого значения, которое передается внутри функции с именем fact, и значение 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. Для цикла в JavaScript
  3. JavaScript объекты
  4. Положение в JavaScript