Aprenda los conceptos básicos de recursión en JavaScript
Una función puede llamarse a sí misma .
Esto es lo que significa la recursión y nos permite resolver problemas de una manera ordenada.
Para ello, necesitas una expresión de función con nombre, en otras palabras esto:
function doSomething() {}
Así que podemos llamar doSomething()
al interior doSomething()
.
El ejemplo más sencillo que podemos hacer es calcular el factorial de un número. Este es el número que obtenemos al multiplicar el número por (número – 1), (número – 2), y así sucesivamente hasta llegar al número 1.
El factorial de 4 es (4 * (4 – 1) * (4 – 2) * (4 – 3)) = 4 * 3 * 2 * 1, que es 24.
Podemos crear una función recursiva para calcularlo automáticamente:
function factorial(n) { return n = 1 ? n * factorial(n - 1) : 1}factorial(1) //1factorial(2) //2factorial(3) //6factorial(4) //24
También podemos utilizar una función de flecha si lo preferimos:
const factorial = (n) = { return n = 1 ? n * factorial(n - 1) : 1}factorial(1) //1factorial(2) //2factorial(3) //6factorial(4) //24
Ahora es un buen momento para hablar de la pila de llamadas .
Imaginemos que cometemos un error y en lugar de calcular el factorial como
const factorial = (n) = { return n = 1 ? n * factorial(n - 1) : 1}
Nosotros hacemos esto: Juegos gratis para movil
const factorial = (n) = { return n = 1 ? n * factorial(n) : 1}
Como puedes ver, llamamos factorial(n)
hasta el infinito. No hay fin, porque olvidamos bajarlo en cada llamada.
Si ejecuta este código, obtendrá este error:
RangeError: Maximum call stack size exceeded
Cada vez que se invoca una función, JavaScript debe recordar el contexto actual antes de cambiar al nuevo, por lo que coloca ese contexto en la pila de llamadas . Tan pronto como la función retorna, JavaScript va a la pila de llamadas y selecciona el último elemento que se agregó y reanuda su ejecución.
Se excedió el tamaño máximo de la pila de llamadas significa que se colocaron demasiados elementos en la pila y su programa falló.
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Recursión de JavaScript
Una función puede llamarse a sí misma . Aprenda los conceptos básicos de recursión en JavaScript Aprenda los conceptos básicos de recursión en JavaScript
programar
es
https://aprendeprogramando.es/static/images/programar-recursion-de-javascript-2026-0.jpg
2025-01-20
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente