En programación es muy frecuente que un determinado procedimiento de cálculo definido por un grupo de sentencias tenga que repetirse varias veces, ya sea en un mismo programa o en otros programas, lo cual implica que se tenga que escribir tantos grupos de aquellas sentencias como veces aparezca dicho proceso.
La herramienta más potente con que se cuenta para facilitar, reducir y dividir el trabajo en programación, es escribir aquellos grupos de sentencias una sola y única vez bajo la forma de una FUNCION.
Incluso los programas más sencillos tienen la necesidad de fragmentarse. Las funciones son los únicos tipos de subprogramas que acepta JavaScript. Una definición de función (también denominada declaración de función o expresión de función) consta de la palabra clave function, seguida de:
Una función puede recibir tantos argumentos como se deseen, aunque no sería demasiado razonable que una función reciba más de cuatro o cinco parámetros.Los argumentos que se le pasan a la función pueden ser :
Debemos buscar un nombre de función que nos indique cuál es su objetivo (Si la función recibe un string y lo centra, tal vez deberíamos llamarla centrarTitulo). Veremos que una función puede variar bastante en su estructura, puede tener o no parámetros, retornar un valor, etc.
Ejemplo: Mostrar un mensaje que se repita 3 veces en la página con el siguiente texto:
La solución sin emplear funciones es:
Empleando una función:
Recordemos que JavaScript es sensible a mayúsculas y minúsculas. Si fijamos como nombre a la función mostrarMensaje (es decir la segunda palabra con la primer letra en mayúscula) debemos respetar este nombre cuando la llamemos a dicha función.
Es importante notar que para que una función se ejecute debemos llamarla desde fuera por su nombre (en este ejemplo: mostrarMensaje()).
Cada vez que se llama una función se ejecutan todas las líneas contenidas en la misma.
Si no se llama a la función, las instrucciones de la misma nunca se ejecutarán.
A una función la podemos llamar tantas veces como necesitemos.
Las funciones nos ahorran escribir código que se repite con frecuencia y permite que nuestro programa sea más entendible.
Hemos estado haciendo uso de funciones existentes por defecto en JavaScript como son:
Recordemos que 'prompt' es una función que nos permite ingresar por teclado una cadena de caracteres, y la función 'parseInt' convierte una cadena de caracteres a tipo de dato entero.
Una función JavaScript puede devolver un resultado si se introduce la sentencia return resultado; donde resultado es aquello que queremos devolver (normalmente una variable que contiene un valor numérico, de texto o booleano, pero también podrían ser objetos con mayor complejidad como un array).
Una vez se llega a la sentencia return se produce la devolución del resultado y se interrumpe la ejecución de la función. Por ello la sentencia return será normalmente la última instrucción dentro de una función.
Definición de una función sin parámetros que devuelve un resultado:
Definición de una función con parámetros que devuelve un resultado:
Ejemplo del uso de una función donde se devuelve un valor por medio de return, en el ejemplo al ingresar un valor devuelve el cuadrado de ese numero
cuadrado = square(numero); //llamo a la funcion square y le paso el valor numero
document.write(' Estamos afuera de la funcion, ');
document.write(' el cuadrado del ');
document.write( numero);
document.write(' es ');
document.write(cuadrado);
</script>
</body>
</html>