Introducción a la función recursiva en JavaScript

Javascript es un intérprete y un lenguaje de scripting de alto nivel que forma la base del lenguaje de programación HTML y basado en la web. Una función recursiva es la que se llama a sí misma para generar una salida esperada. Para una comprensión más fácil, puede pensar en el factorial de una función numérica que se puede citar como el ejemplo perfecto de la función de recursión en Javascript. En este tema, vamos a aprender sobre la función recursiva en JavaScript.

La recursión también se define como el patrón de programación que a menudo es útil en los casos en que un caso o tarea particular se puede dividir fácilmente en varias subtareas más pequeñas que son específicamente del mismo tipo pero, por supuesto, de naturaleza mucho más simple. Cada vez que una función realiza una tarea particular, puede llamar a muchas funciones como intermedias para procesar y cuando se hace a sí misma se llama función recursiva.

Sintaxis de la función 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)

Explicación

  • En la sintaxis explicada anteriormente, hemos tratado de entender el concepto de funciones recursivas en Javascript haciendo uso de la construcción de bucle. Al principio, hemos declarado una función con el nombre de func_name que forma nuestra entidad básica y todo el siguiente código se escribirá dentro de ese bloque de funciones.
  • A continuación, en el nombre de la función, pasamos dos parámetros por los nombres de var1 y var2 que explican las variables y sus valores. Después de eso viene la parte de declaración de variables donde escribiremos las variables y otros valores requeridos para nuestra lógica de código y publicaremos que se implementará la lógica de código real.
  • En este caso, estamos utilizando for loop para escribir nuestro bloque lógico de código. Una vez que se ha escrito el código, es necesario reiterar esa declaración de función, es decir, llamar recursivamente a ese bloque de función que es func_name en este caso y, por lo tanto, pasaremos dos valores de argumento de número como parámetros en el func_name fuera del bucle for de modo que la función se vuelve a llamar hasta que se consuman los valores pasados.
  • Así es como se implementa una función de recursión en JavaScript. Un punto a tener en cuenta aquí es que no estamos haciendo uso de la condición iterativa en el bucle for ya que esa condición será atendida por la función recursiva en su llamada.

¿Cómo funciona la función recursiva en JavaScript?

Como JavaScript es un lenguaje orientado a la web, la función recursiva se puede implementar haciendo uso de for loop o while while. En el caso de una función recursiva, el objetivo principal del programa es disminuir la tarea principal en muchas subtareas más pequeñas hasta que la subtarea no cumpla con la condición y no pueda ingresar dentro del bucle o cualquier bloque de código escrito dentro de la función . No es necesario que una declaración en bucle deba usarse para implementar la recursividad, pero también puede hacerse mediante el uso de bloques condicionales de declaraciones como construcciones if-else.

Ejemplos de funciones recursivas en JavaScript

Comprendamos esto con la ayuda de varios ejemplos.

Ejemplo 1

Comprendamos esto con la función pow, que es la forma abreviada de poder. En este ejemplo, leeremos acerca de pow (a, b) que eleva el poder de a al número natural de b. Si habla en otros términos, significa que a se multiplicará por sí mismo b varias veces.

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

Salida:

En este ejemplo, llamamos recursivamente a la función pow y calculamos la potencia de 2, 3 veces, lo que debería producir el resultado 8. Cuando se llama a pow, el bloque de ejecución se divide en dos categorías basadas en declaraciones condicionales. El primero hablará sobre la declaración if donde if a == 1 = by el segundo se refiere a la parte else del bloque donde a se multiplica por la resultante de la potencia de a y b-1.

Ejemplo # 2

En este segundo ejemplo, vamos a estudiar otro ejemplo muy popular de la función recursiva. Se conoce como encontrar el factorial de un número. Cuando habla de encontrar el factorial de un número, quiere decir multiplicar el número y todos los valores decrecientes subsiguientes hasta 1.

La fórmula del fragmento para encontrar el factorial de un número es:

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

Tratemos de entender esta fórmula con la ayuda de un ejemplo. El factorial de 4 es 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;
)

Salida:

En el código explicado anteriormente, el factorial se tomará de cualquier valor que se pase dentro de la función denominada fact y el valor res será responsable de calcular el valor.

Ejemplo # 3

En este ejemplo, veremos cómo se usa la función de recursión en la implementación de contadores haciendo uso del bucle 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);

Salida:

En este ejemplo, el valor de 5 se registrará como la salida de la función Cdown y calculará el factorial.

Artículos recomendados

Esta es una guía de la función recursiva en JavaScript. Aquí discutimos su sintaxis y cómo funciona la función recursiva en JavaScript junto con diferentes ejemplos. También puede consultar el siguiente artículo para obtener más información:

  1. Patrones en JavaScript
  2. Para Loop en JavaScript
  3. Objetos JavaScript
  4. Declaración de caso en JavaScript