Una función es una estructura de código que ejecuta y transforma unos inputs de entrada en un output de salida en forma de dato o acción.
En una función toda acción tiene una reacción.
Hemos trabajado con funciones toda nuestra vida. Las aprendimos de bien pequeños en el colegio. El concepto de función matemática es perfectamente aplicable a la programación. Y por lo tanto ahora no os debería asustar. Sois buenos conocidos.
Por ejemplo, dada la función f(x) = x + 1; sabemos que f(1) devolverá 2 y que f(100) devolverá 101. O que si llamamos a un timbre nos abrirán la puerta. O no.En una función podemos identificar:
- Los inputs:
- Una función no necesariamente tiene inputs. Por ejemplo podríamos crear que siempre que fuera «invocada» ejecutara un proceso.
- Las instrucciones:
- El fin de una función es ejecutar instrucciones de cualquier tipo.
- Existen casos excepcionales en los que puede ser de interés no ejecutar absolutamente nada. Simplemente son casos en que se usan las funciones para romper un problema en otros más pequeños a resolver más tarde. Como ejemplo me piden un programa que devuelva un resultado escrito por pantalla. Puedo inventarme una función de nombre «escribirResuladoPorPantalla();» que ya escribiría una vez resuelta la parte complicada del trabajo en comendado.
- Los outputs:
- Una función no necesariamente devuelve datos.
- Una función que no devuelve datos tal vez ha ejecutado una acción. Esto propiamente ya sería un output. Un efecto sobre el exterior.
- Una función puede devolver datos y o acciones de cualquier tipo.
- Una función no necesariamente devuelve datos.
[vc_single_image source=»external_link» alignment=»center» qode_css_animation=»» custom_src=»http://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Function_machine2.svg/440px-Function_machine2.svg.png» caption=»Representación gráfica de una función. Fuente: wikiwand.com»]
Sintaxis de una función en Javascript
Una función en Javascript tiene la siguiente sintaxi:
function es una palabra reservada que precede el nombre que vamos a dar a la función para referirnos a ella
( ) los paréntesis. Van continuación del nombre que hemos dado a la función. Es importante no dejar ningún espacio en blanco entre el nombre de la función y los (). Los paréntesis contienen las variables que van a almacenar los inputs que se le hayan enviado a la función (cuando llamemos una función desde un script se entenderá mejor). Es importante tener en cuenta que no es necesario que las variables que le pasemos via el script principal tengan el mismo nombre dentro de la función. Esto siempre cuesta mucho de entender… requiere práctica y ejemplos.
{ } las llaves. Contienen las instrucciones que va a ejecutar la función. Dentro de la función podemos programar exactamente que lo haríamos fuera de ella. Aplican las mismas normas de sintaxis. Por ejemplo podemos declarar o no variables, llamar a otros métodos, …. etc
return. Return es una variable reservada. Sólo puede devolver un valor o variable. Una opción para devolver varios valores en caso de ser necesario es hacerlo mediante una lista.
Como llamar una función para usarla
Una función en Javascript tiene la siguiente sintaxi:
Para llamar una función en un script únicamente debemos usar el nombre de la función que usamos. En la imagen serían las instrucciones
recogerDatos();
tratarDatos(informacion);
escribirResultado(resultado);
Una función puede asignarse a una variable en caso de que devuelve algún tipo de valor. El ejemplo es:
resultado = tratarDatos(informacion);
Si no devuelve ningún valor pero la usamos para ejecutar alguna instrucción entonces no hace falta asignarla a ninguna variable. El ejemplo es
escribirResultado(resultado);
Vemos en la imagen un programa muy sencillo mediante funciones.
Para que sirven las funciones en programación
Las funciones sirven para:
- reutilizar código.
- facilitar la abstracción de problemas.
- aislar problemas que no necesariamente sabemos solucionar pero de los que sabemos la respuesta esperada.
- poder usar el trabajo hecho por otra persona sin tener que programar tareas tediosas.
¡Hola!
Querido lector,
¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!
Deja una respuesta