Funciones
Introducción
Una función le permite escribir varias instrucciones para que pueda reutilizar el bloque de instrucciones sin volver a escribir cada una de ellas. Se nombra y define una vez, pero se ejecuta varias veces en el programa principal.
Las funciones ya se han utilizado en este libro. El curso normal del programa es una función: la función principal. document.writeln() es una función, que sirve para mostrar algo en la página web.
Funciones simples
1. Sintaxis
Una función se declara usando la palabra clave function seguida de su nombre.
function miFuncion() {
operacion(es);
}
A cada llamada, miFuncion() realizará las operaciones que incluya. Para llamar a una función, simplemente escriba su nombre.
<!-- C:\JavaScriptYAngular\JavaScript\C05\demostracion\index.html -->
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Ediciones ENI</title>
</head>
<body>
<script type="text/javascript">
// Definición de la función
function fLeyes() {
document.writeln("Un robot no puede dañar a un ser humano, ni
permanecer pasivo mientras un ser humano está expuesto al peligro. <br />")
document.writeln("Un robot debe obedecer las órdenes que le son
dadas por un ser humano, a menos que tales órdenes entren en conflicto con
la primera ley<br />");
document.writeln("Un robot debe proteger...
Funciones y argumentos
Al llamar a una función, es posible definir uno o más argumentos utilizados como variables dentro de ella. Estas variables tienen un alcance limitado al bloque de instrucciones de la función. Los argumentos son una forma de pasar información o datos de la función principal a una función secundaria. Una función puede acomodar un número ilimitado de argumentos de cualquier tipo.
1. Sintaxis de la función con argumentos
Los argumentos se declaran entre paréntesis ubicados después del nombre de la función y no se escriben. Como recordatorio, JavaScript no es un lenguaje de programación fuertemente tipado y es el uso que hacemos de las variables lo que define sus tipos.
function funcionesYArgumentos(argumento01, argumento02, argumento03) {
console.log(argumento01);
console.log(argumento02);
console.log(argumento03);
}
2. Llamada a la función con argumentos
Por lo tanto, para llamar a una función con argumentos, simplemente escriba su nombre seguido de los argumentos.
<!-- C:\JavaScriptYAngular\JavaScript\C05\demostracion\
index.html -->
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title> Ediciones ENI</title>
</head>
<body>
<script type="text/javascript">
// Funciones...
Retorno
Una función no solo sirve para mostrar elementos en el navegador web. Algunas funciones devuelven información que se puede utilizar en otras funciones.
1. Sintaxis
En realidad, existen dos tipos de funciones: procedimientos, que realizan una serie de operaciones, y funciones, que procesan información y proporcionan un resultado. Este resultado se llama retorno de función.
function miFuncion(argumento01, argumento02) {
operacion(es)
return unRetorno;
}
function suma(argumento01, argumento02) {
let retornoDeLaFuncion;
retornoDeLaFuncion = argumento01 + argumento02;
return retornoDeLaFuncion;
}
Con tiempo y experiencia, el desarrollador puede simplificar enormemente este tipo de función. De hecho, la variable retornoDeLaFuncion es inicializada, asignada y se utiliza como retorno a la función en tres líneas de código. Se puede realizar un primer ahorro reagrupando la inicialización y la asignación en una sola línea.
let retornoDeLaFuncion = argumento01 + argumento02;
Un segundo ahorro consiste en prescindir por completo de la variable retornoDeLaFuncion:
function suma(argumento01, argumento02) {
return argumento01 + argumento02
}
Una función solo...
Funciones o métodos
A veces, el desarrollador desea poder agrupar varias funciones dentro de su aplicación, ya sea porque todas trabajan juntas o porque se relacionan con el mismo elemento.
Cuando varias funciones se agrupan dentro de un objeto, se denominan métodos.
Además, contrariamente a lo dicho en la introducción de este capítulo, writeln() es un método del objeto document, y no una función.
De hecho, un método y una función tienen la misma sintaxis y el mismo funcionamiento. Organizar su código de tal manera que cree objetos que contengan funciones llamadas métodos es hacer programación orientada a objetos. Y este es precisamente el tema del capítulo de JavaScript orientado a objetos.
Práctica
1. Enunciado
mayorDeDosNumeros()
Escriba una función llamada mayorDeDosNumeros() que, considerando dos números, devuelta el mayor.
mayorDeTresNumeros()
Escriba una función llamada mayorDeTresNumeros() que, considerando tres números, devuelta el mayor.
mayorDeTresNumerosBis()
Escriba una función llamada mayorDeTresNumerosBis() que, considerando tres números, nos devuelta el mayor usando únicamente la función mayorDeDosNumeros (), varias veces si es necesario.
factorial()
Escriba una función factorial() que devuelva el factorial de un número introducido como parámetro. El factorial de un número es el resultado de la multiplicación de todos los enteros positivos menores o iguales al número.
-
Factorial(1) = 1, porque 1! = 1
-
Factorial(2) = 2, porque 2! =2 * 1
-
Factorial(3) = 6, porque 3! = 3 * 2 * 1
-
Factorial(4) = 24, porque 4! = 4 * 3 * 2 * 1
2. Corrección
mayorDeDosNumeros ()
La función mayorDeDosNumeros() utiliza dos números pasados como parámetros. Si el primero es mayor que el segundo, devuelve el primero; de lo contrario, devuelve el segundo.
<!-- C:\JavaScriptYAngular\JavaScript\C05\Practica\
index.html -->
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>EdicionesENI</title>
</head>
<body>
<script type="text/javascript">
// Devuelve el mayor de los dos números.
function mayorDeDosNumeros(a, b) {
// Si el primero es más...