Introdução à função recursiva em JavaScript

Javascript é um intérprete e uma linguagem de script de alto nível que forma a base do HTML e da linguagem de programação baseada na Web. Uma função recursiva é aquela que se chama para gerar uma saída esperada. Para um entendimento mais fácil, você pode pensar no fatorial de uma função numérica que pode ser citada como o exemplo perfeito da função de recursão em Javascript. Neste tópico, vamos aprender sobre a função recursiva em JavaScript.

A recursão também é definida como o padrão de programação que geralmente é útil nos casos em que um caso ou tarefa em particular pode ser facilmente dividido em várias subtarefas menores, especificamente do mesmo tipo, mas é claro, de natureza muito mais simples. Sempre que uma função executa uma tarefa específica, ela pode chamar muitas funções como intermediárias para processar e, quando executa, é chamada de função recursiva.

Sintaxe da função recursiva

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)

Explicação

  • Na sintaxe explicada acima, tentamos entender o conceito de funções recursivas em Javascript usando a construção for loop. No começo, declaramos uma função com o nome de func_name que forma nossa entidade básica e todo o código a seguir será escrito dentro desse bloco de funções.
  • Em seguida, no nome da função, passamos dois parâmetros pelos nomes de var1 e var2, o que explica as variáveis ​​e seus valores. Depois disso, vem a parte da declaração da variável, onde escreveremos as variáveis ​​e outros valores necessários para nossa lógica de código e postaremos que a lógica de código real será implementada.
  • Nesse caso, estamos usando o loop for para escrever nosso bloco lógico de código. Depois que o código foi escrito, torna-se necessário reiterar essa instrução de função, ou seja, chamar recursivamente o bloco de funções que é func_name nesse caso e, portanto, passaremos dois valores de argumentos numéricos como parâmetros no func_name fora do loop for, de modo que a função é chamado novamente até e, a menos que os valores passados ​​sejam consumidos.
  • É assim que uma função de recursão é implementada em JavaScript. Um ponto a ser observado aqui é que não estamos fazendo uso da condição iterativa no loop for, pois essa condição será atendida pela função recursiva em sua chamada.

Como a função recursiva funciona em JavaScript?

Como o JavaScript é uma linguagem orientada para a Web, a função recursiva pode ser implementada usando o loop for ou pelo loop while. No caso de uma função recursiva, o principal objetivo do programa é diminuir a tarefa principal em muitas subtarefas menores até que a subtarefa não cumpra a condição e não entre no loop ou em qualquer bloco de código escrito dentro da função . Não é necessário que nenhuma instrução de loop seja usada para implementar a recursão, mas isso também pode ser feito usando blocos de instruções condicionais, como construções if-else.

Exemplos de função recursiva em JavaScript

Vamos entender isso com a ajuda de vários exemplos.

Exemplo 1

Vamos entender isso com a função pow, que é a forma abreviada de poder. Neste exemplo, estaremos lendo sobre pow (a, b), que eleva a potência de a ao número natural de b. se você falar em outros termos, significa que a deve ser multiplicada por si mesma b número de vezes.

//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) );

Resultado:

Neste exemplo, estamos chamando recursivamente a função pow e calculando a potência de 2, 3 vezes, o que deve produzir o resultado 8. Quando o pow é chamado, o bloco de execução é dividido em duas categorias com base em declarações condicionais. O primeiro irá falar sobre a declaração if em que se a == 1 = b e o segundo se refere à outra parte do bloco em que a é multiplicada pela resultante da potência de a e b-1.

Exemplo 2

Neste segundo exemplo, estudaremos outro exemplo muito popular da função recursiva. É conhecido como encontrar o fatorial de um número. Quando você fala sobre encontrar o fatorial de um número, você quer dizer multiplicar o número e todos os valores decrescentes subsequentes dele até 1.

A fórmula do snippet para encontrar o fatorial de um número é:

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

Vamos tentar entender essa fórmula com a ajuda de um exemplo. O fatorial de 4 é 4 * 3 * 2 * 1 = 24.

Código:

//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;
)

Resultado:

No código explicado acima, o fatorial seria retirado de qualquer valor que seja passado dentro da função denominada fato e o valor res será responsável por calcular o valor.

Exemplo 3

Neste exemplo, veremos como a função de recursão é usada na implementação de contadores usando o loop if-else.

Código:

//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);

Resultado:

Neste exemplo, o valor de 5 será registrado como a saída da função Cdown e calculará o fatorial.

Artigos recomendados

Este é um guia para a função recursiva em JavaScript. Aqui discutimos sua sintaxe e como a função recursiva funciona em JavaScript, juntamente com diferentes exemplos. Você também pode consultar o seguinte artigo para saber mais -

  1. Padrões em JavaScript
  2. For Loop em JavaScript
  3. Objetos JavaScript
  4. Declaração de caso em JavaScript