miércoles, 17 de octubre de 2012

7 - Las Funciones en Javascript



Interesante: Vídeo Tutorial de Javascript, aprende a programar Javascript desde cero.

Las funciones como decíamos en la introducción, no son mas que bloques de instrucciones de programa con nombre y que pueden ejecutarse sin mas que llamarlas desde alguna parte de otra función o desde la página HTML, bien sea directamente o mediante eventos.

Habitualmente una función se crea para ejecutar una acción muy concreta. Javascript posee una serie de funciones predefinidas o funciones globales pero el programador puede crear las suyas propias. Para crear una función, tan sólo es necesario indicárselo al intérprete mediante la plabra clave function seguida del nombre que deseemos darle a la función y, encerrados entre paréntesis, las variables que simbolizan los valores con los que deba trabajar la función, los argumentos. Los paréntesis deben escribirse aunque no haya argumentos. Para los nombres de funciones seguimos las mismas reglas que para las variables: caracteres, dígitos y guión bajo, debiendo comenzar por un carácter o el guión bajo.

Como es natural es recomendable dar a las funciones un nombre representativo de la operación que realize. Por supuesto no debemos darle un nombre que ya exista en  JavaScript. A continuación encerradas entre llaves escribimos las sentencias u órdenes en JavaScript. Opcionalmente la función puede finalizar con la palabra clave return seguida de un valor, este valor será el que devuelva la función al programa que la llame.

Por ejemplo:

<script type="text/javascript">

function sumar(a,b)
{
var suma;
suma = a + b;
return suma;
}

var operacion;
operacion = sumar(10, 10);
alert(operacion);

</script>


Mediante este ejemplo creamos la función llamada sumar, que utiliza dos argumentos y lo que hace es sumar estos argumentos. Por último devuelve el resultado de la operación, mediante la palabra clave return seguida del valor que debe devolver.

En este código llamamos a la función con los argumentos 4 y 5 y almacenamos el resultado en la variable operacion.
Hasta aquí el comportamiento de las funciones JavaScript es similar a cualquier otro lenguaje, pero en JavaScript las funciones también son objetos. 
Veamos el siguiente ejemplo:

var multip = new Function("x", "y", "return x * y")
alert(multip(8,9));
Funciones Javascript
Funciones Javascript


Interesante, ahora multip no es una variable cualquiera sino una instancia del objeto Function y puede usarse como la propia función. Esta característica permite asignar directamente funciones a los eventos de las páginas web y así simplificar su programación.