Funciones de usuario

Cuando se desarrolla una aplicación compleja, es muy habitual usar una y otra vez las mismas instrucciones. Las funciones son la solución a este problema, tanto en JavaScript como en el resto de lenguajes de programación. Una función es un conjunto de instrucciones que se agrupan para realizar una tarea concreta y que se pueden rehusar fácilmente.

JavaScript permite al usuario definir sus propias funciones, las cuales pueden o no tomar argumentos y pueden o no devolver valores.

function nombre ([arg1][,arg2]...[,argN]){
   ...
   [return valor;]
}

//Invocar
nombre(argumentos);

1. Argumentos

Es una matriz que contiene los parámetros pasados a la función, en orden: el primer parámetro es [0] el siguiente es [1] etc.

función.arguments(indice);

2. Retorno

Se usa para especificar el valor devuelto por una funcion.

return expresión;

3. Length

Define el numero de argumentos pasados a la función.

función.arguments.length;

4. Ejemplos

4.1 Ejemplo 1

Crear una función que devuelva el IGV (18%)

function igv(precio) {
   return (0.18*precio);
};
//Invocar
var x = 215;
var impuesto = igv(x);

4.2 Ejemplo 2

Crear una función a la que si se le pase un número entero, devuelva como resultado una cadena de texto que diga si el número es par o impar.

function par(n) {
   if (n%2 == 0){
      return "Es par";
   }else{
      return "Es impar";
   }
};
//Invocar
alert(par(3));  //Es impar
alert(par(8));  //Es par

4.3 Ejemplo 3

Crear una función que si se le pasa una cadena de texto, devuelva si la cadena está formada sólo por mayúsculas, sólo por minúsculas o por una mezcla de ambas.

function cadena(r) {
   if (r.toUpperCase() == r){
      return "Puras mayúsculas";
   }else if(r.toLoweCase() == r){
      return "Puras minúsculas";
   }else[
      return "Mezcladito";
   }
};
//Invocar
alert(r("ABC"));         //Puras mayúsculas
alert(r("xyz"));         //Puras minúsculas
alert(r("Hola Mundo"));  //Mezcladito

4.4 Ejemplo 4

Crea una función que determine si la cadena de texto que se le pasa como parámetro es un palíndromo, es decir, si se lee de la misma forma desde la izquierda y desde la derecha. Ejemplo de palíndromo complejo: "La ruta nos aporto otro paso natural".

5 Asincronos

Cuando se llama a una función async, esta devuelve un elemento Promise. Cuando la función async devuelve un valor, Promise se resolverá con el valor devuelto. Si la función async genera una excepción o algún valor, Promise se rechazará con el valor generado.

Una función async puede contener una expresión await, la cual pausa la ejecución de la función asíncrona y espera la resolución de la Promise pasada y, a continuación, reanuda la ejecución de la función async y devuelve el valor resuelto.

async función nombre([param1[,param2[, ..]]]);

Una función async puede contener una expresión await, la cual pausa la ejecución de la función asíncrona y espera la resolución de la Promise pasada y, a continuación, reanuda la ejecución de la función async y devuelve el valor resuelto.