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);
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);
Se usa para especificar el valor devuelto por una funcion.
return expresión;
Define el numero de argumentos pasados a la función.
función.arguments.length;
Crear una función que devuelva el IGV (18%)
function igv(precio) { return (0.18*precio); }; //Invocar var x = 215; var impuesto = igv(x);
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
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
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".
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.