Procedimientos y funciones
Los procedimientos
Recordemos brevemente la utilidad de los procedimientos en programación (puede volver al capítulo Desarrollo a partir de algoritmos, para más explicaciones). Querer codificar en JavaScript procesamientos demasiado complejos, utilizando un número importante de variables y objetos e implicando, por ejemplo, a bucles y estructuras condicionales anidadas, puede ser un freno importante para el mantenimiento del script. Esto es incluso más cierto cuando el código está mal organizado (ausencia de comentarios, indentaciones aleatorias, nombres de variables y objetos poco significativos, etc.).
Otro aspecto importante para codificar con procedimientos es la posible reutilización de estos procedimientos en contextos diferentes. Será posible pasar argumentos a estos procedimientos. Si estas secuencias de código llamadas desde un procesamiento principal devuelven un valor, hablamos en este caso de funciones. Esta factorización reduce la longitud global del código fuente y permite, sobre todo, aislar (e incluir en un script físicamente diferente) una secuencia de instrucciones, para la que no tendremos más preguntas que hacer respecto a su funcionamiento. Por tanto, estos procedimientos (o funciones) se podrán considerar como piezas de software utilizables en la construcción de una arquitectura de software.
1. Sintaxis
function miProcedimiento(argumentoFormal1[...
Las funciones
1. Sintaxis
Una función es un procedimiento que devuelve un valor a la secuencia de código que llama.
El resultado devuelto se debe asignar a una variable o mostrar a través del método alert o document.write.
miVariable = miFuncion(argumentoEfectivo1[, argumentoEfectivo2, ...);
o
alert("Resultado: " + miFuncion(argumentoEfectivo1[, argumentoEfectivo2, ...);
o
document.write("Resultado: " + miFuncion(argumentoEfectivo1[,
argumentoEfectivo2, ...);
A nivel de la función, devolver un valor se hace como sigue:
function miFuncion(argumentoFormal1[, argumentoFormal2, ...)
{
/* Secuencia de código que determina un valor
para devolver (valorDevuelto) */
/* Valor de retorno */
return valorDevuelto;
}
2. Ejercicio n.°17: Llamada de una función con argumentos
Enunciado
Uso de una función de cálculo del máximo de dos valores introducidos con el teclado y pasados como argumentos.
Corrección (parcial) en JavaScript
/* Función maxi (determina el máximo de dos cifras) */
function maxi(x, y)
{
/* Determinación del máximo */
if (x > y)
{
return x;
}...