¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. JavaScript y Angular
  3. Funciones
Extrait - JavaScript y Angular De los fundamentos del lenguaje al desarrollo de una aplicación web
Extractos del libro
JavaScript y Angular De los fundamentos del lenguaje al desarrollo de una aplicación web Volver a la página de compra del libro

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...