Definiendo Funciones

Definiendo funciones

La definición de una función consiste en la palabra clave 'function' seguida de:

  • El nombre de la función.
  • Una lista de argumentos para la función, encerrados entre paréntesis y separados por comas.
  • Las sentencias de JavaScript que definen la función encerradas entre corchetes {}. Estas sentencias incluidas en la función pueden incluir llamadas a otras funciones que estén definidas en la aplicación.

Por ejemplo, el siguiente código define una sencilla función llamada 'cuadrado'.

function cuadrado(número) {
	return número*número
}

La función cuadrado recibe un argumento, llamado 'número'. La función consiste en una sentencia que retorna el argumento de la función multiplicado por sí mismo. La declaración 'return' especifica el valor devuelto por la función.

return número*número

Todos los parámetros son pasados a las funciones como valores; El valor es pasado a la función, pero si la función cambia el valor del parámetro, este cambio no es reflejado globalmente o en la función llamada. Sin embargo, si pasa un objeto como parámetro a una función y la función cambia las propiedades del objeto, este cambio es visible fuera de la función como se muestra en el siguiente ejemplo:

function miFuncion(elObjecto) {
   elObjecto.fabricante="Toyota"
}

micarro = {fabricante:"Honda", modelo:"Accord", año:1998};
x=micarro.fabricante;     // devuelve Honda
miFuncion(micarro);    // pasa el objeto 'micarro' a la función
y=micarro.fabricante;     // devuelve 'Toyota' (la propiedad es cambiada por la función)

Una función puede ser definida basada en una condición. Por ejemplo, dada la siguiente definición de función:

if (número == 0)
{
   function miFuncion(elObjecto) {
   elObjecto.fabricante="Toyota"
   }
}

La función 'miFuncion' será definida únicamente si la variable 'número' es igual a 0. Si 'número' no es igual a 0, la función no será definida y cualquier intento de ejecutarla fracasará.

Además de definir funciones como se ha descrito aquí, también se puede definir Objetos function

Un método es una función asociada a un objeto. Aprenderá más acerca de los objetos y métodos en el capítulo 8 Trabajando con Objetos

Una función puede también ser definida dentro de una expresión, esta es llamada una expresión funcional, típicamente tal función es anónima; no tiene que tener un nombre, por ejemplo, la función 'cuadrado' podría haber sido definida como:

const cuadrado = function(número) {return número * número};


Esto es recomendable cuando se pasa una función como argumento a otra función. El siguiente ejemplo muestra la función 'mapa' siendo definida y después llamada por una función anónima como su primer parámetro.

function mapa(función,arreglo_valores) {
   var resultado=new Array;
   for (var i = 0; i != arreglo_valores.length; i++) //cuantos elementos pasan - 1?
      resultado[i] = función(arreglo[i]); //asigne valores del arreglo como parámetros a la función
   return resultado; //retorna arreglo_resultado al invocar a la función por cada elemento del arreglo
}

La llamada:

mapa(function(x) {return x * x * x}, [0, 1, 2, 5, 10]);
Retornará
[0, 1, 8, 125, 1000]
.

categorias

links interwikis

Etiquetas y colaboradores del documento

Colaboradores de esta página: DSN XP, Jorolo, Alterebro, Nukeador, Xblasco
Última actualización por: DSN XP,