Diferencia entre revisiones de «Programación en JavaScript/Funciones»

Contenido eliminado Contenido añadido
Sin resumen de edición
 
Sin resumen de edición
Línea 50:
A lo largo de los siguientes capítulos veremos como crear y utilizar funciones, tanto propias como ajenas. Recordemos que podemos incluir código desde otro archivo y por supuesto, ese código puede contener funciones. En el siguiente capítulo veremos más ejemplos de funciones y avanzaremos en funciones internas de JavaScript.
 
==Funciones. Funcionescon avanzadasparámetros.==
 
===Funciones. Ejemplos.===
 
Las funciones son, como ya sabemos, una de las características mas importantes de todo lenguaje de programación estándar de hoy en día (excepto tal vez en lenguajes de tipo funcional, como LISP, que no requieren de ellas por su estructura). A continuación vamos a estudiar algunos ejemplos y un caso especial de funciones, las funciones recursivas, que en realidad es la capacidad de una función de llamarse a si misma.
 
===Funciones con parámetros.===
 
Como ya indicamos en el capítulo anterior, los parámetros nos sirven para llamar a nuestras funciones con unos datos específicos para que los procese. Y en cada llamada, podemos darle unos parámetros diferentes, que harán que pueda comportarse de forma diferente, si ese es el comportamiento que le hemos programado.
Línea 83 ⟶ 77:
"que tal".length es una función que forma parte de los objetos de cadena de texto (todo, desde las variables hasta los literales, son objetos en JavaScript), y nos devuelve la longitud de una cadena de texto. En concreto, al hacer esta llamada nos devolverá un número '7'. Como las variables en JavaScript no tienen tipo (todas son objetos), podemos pasar cualquier valor como parámetro.
 
===Devolución de datos.===
 
Como ya sabemos, una función puede devolver datos hacia afuera por medio de la expresión return. Naturalmente, podemos devolver cualquier tipo de datos. Sin embargo hay que tener en cuenta una serie de cuestiones:
Línea 140 ⟶ 134:
En este ejemplo, la última linea no se ejecutará nunca porque hemos salido sin más en la linea anterior.
 
===Funciones recursivas.===
 
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: