comparte el articulo 

Manual JavaScript. Funciones recursivas

Actualizado el 02/12/2008 < > 0 Comentarios

Resumen: Este tipo de funciones son funciones normales, pero que se llaman a si mismas.

Funciones recursivas en JavaScript

Este tipo de funciones son funciones normales, pero que se llaman a si mismas. Existen multitud de técnicas para desarrollar este tipo de funciones, ya que sus usos son muy diversos, pero fundamentalmente hay que tener en consideración que son funciones peligrosas, porque si no controlamos su ejecución, se estarán ejecutando indefinidamente, como en el caso de los bucles infinitos. La diferencia con los bucles infinitos es que dependiendo de la implementación del interprete de JavaScript, es posible que rompamos la pila de memoria, que ya vimos antes, con lo que además de colgar el navegador, podemos generar una excepción de memoria y un error grave del sistema. Para evitarlo, claro está, debemos estudiar bien la lógica de la función para construirla adecuadamente. Por ejemplo, si queremos calcular el factorial de un número, podemos hacerlo con una función recursiva:

function factorial(numero)

  {

  if (numero == 1 || numero == 0)

  return 1;

  else

  return numero*factorial(numero - 1);

  }

  document.write(factorial(4));

Supóngase la llamada a esta función para N=4, es decir factorial(4). Cuando se llame por primera vez a la función, la variable numero valdrá 4, y por tanto devolverá el valor de 4*factorial(3); pero factorial(3) devolverá 3*factorial(2); factorial(2) a su vez es 2*factorial(1) y dado que factorial(1) es igual a 1 (es importante considerar que sin éste u otro caso particular, llamado caso base, la función recursiva no terminaría nunca de llamarse a sí misma), el resultado final será 4*(3*(2*1)).

Publicado el 02/12/2008, última actualización 02/12/2008.

Autor: Marcos Legido Hernández

URL: Licencia GNU

(Subir al texto)

Añadir Comentario

* Campos obligatorios

Meneame Bitacoras