Función
Función
Section titled “Función”¿Qué es una función?
Section titled “¿Qué es una función?”Es un módulo que agrupa un conjunto de sentencias que tienen un fin especifico, por medio de una firma, define sus datos de entrada y datos de salida y posteriormente con esta información podemos determinar como realizar su invocación.
En resumen, es un módulo que resuelve una necesidad puntual que se puede reutilizar.
.png)
Anatomía de una función
Section titled “Anatomía de una función”Para crear una función debemos usar la plantilla o firma de la función según la sintaxis de Javascript como se muestra a continuación:
.png)
functionPalabra reservada que permite crear el módulo que se comportará como una funciónnombre_funcionNombre inventado por el desarrollador, para identificar la funciónlista,de,parametrosValores de entrada de la función, pueden ser cero o más datos, si son varios se deben separar por comacuerpo de la funciónEspacio donde se escriben las sentencias de la funciónreturnPalabra reservada que indica que la función retorna, ya sea un valor o se sale de la funciónpuede_ser_opcionalValor de salida de la función, es opcional, una función no siempre debe retornar un valor
Tipos de funciones
Section titled “Tipos de funciones”Con parámetros y sin retorno
Section titled “Con parámetros y sin retorno”Recibe datos de entrada, pero no genera datos de salida
Firma de la función
function sumar(a,b){ console.log("La suma es ",a+b);}Invocación
let a = 5;let b = 3;
sumar(a,b);Salida
La suma es 8
Con parámetros y con retorno
Section titled “Con parámetros y con retorno”Recibe datos de entrada y genera datos de salida
Firma de la función
//Ejemplo 1function sumar(a,b){ let c = a + b; return c;}
//Ejemplo 2function restar(a,b){ return a-b;}Invocación
let a = 5;let b = 3;let c;
c = sumar(a,b);console.log("La suma es ",c);
console.log("La resta es",restar(a,b));Salida
La suma es 8 La resta es 2
Sin parámetros y sin retorno
Section titled “Sin parámetros y sin retorno”No recibe datos de entrada y no genera datos de salida
Firma de la función
function sumar(){ let a = prompt("Ingrese el valor de a"); let b = prompt("Ingrese el valor de b"); let temp;
a = Number(a); b = Number(b);
try { temp = a + b;
if(isNaN(temp) || !isFinite(temp)) { throw new Error('Operación incorrecta'); } else{ console.log("La suma es ",temp); } } catch(error){ console.error(error); }}Invocación
sumar();Salida: La función no tiene retorno y por tanto no tiene salida, simplemente es una impresión en consola
La suma es 8
Si los datos leídos no son números o son valores incorrectos, el resultado de invocar la función es un error Operación incorrecta
Sin parámetros y con retorno
Section titled “Sin parámetros y con retorno”Sin datos de entrada, y con datos de salida
Firma de la función
function aleatorio(){ return parseInt(Math.round(Math.random()*100));}Invocación
const turno = aleatorio();console.log("Su turno es ",turno);Salida
Su turno es 18
Otras formas de crear funciones
Section titled “Otras formas de crear funciones”Hay diferentes formas de crear funciones, hay formas equivalentes de definir una función en el código, depende del uso que se le vaya a dar a la función.
Función en una variable
Section titled “Función en una variable”Se utiliza, para pasar una función como parámetro por ejemplo a otra función, también como callback de eventos, esto se estudiará proximamente.
const aleatorio = function(){ return parseInt(Math.round(Math.random()*100));}
//Invocaciónlet turno = aleatorio();
//Salidaconsole.log("Su turno es ",turno);Arrow function
Section titled “Arrow function”Es otra forma equivalente de escribir una función, similar a la sintaxis de otros lenguajes de programación como php, es una alternativa compacta.
const suma = (a,b)=>{ return a+b;}
//Invocación let salida = suma(5,3);
//Salida console.log("La suma es ",salida);Otra forma de escribir lo mismo:
const suma = (a,b) => a+b;El return esta implicito, no hace falta poner las llaves en el caso del ejemplo
Funciones anónimas
Section titled “Funciones anónimas”Son funciones que no tienen nombre, por lo general se usan como callbacks, para inicializar variables.
function (){ console.log("Soy una función anónima");}La función sin nombre, si se declará luego no es posible invocarse ya que no tienen nombre, para evitar este error, se puede asignar a una variable o enviarse como parametro de otra función, y luego esta puede ser invocada por la función que la recibe.
function llamarFuncion(funcion){ funcion();}
//InvocaciónllamarFuncion(function(){ console.log("Llamando la función");});
//Salida//Llamando la funciónFunciones anónimas autollamadas y encapsuladas
Section titled “Funciones anónimas autollamadas y encapsuladas”Es posible encapsular toda la lógica de una aplicación adentro de una función anónima, que se autollame, esto evita que las funciones y el código en general, sea usado desde la consola del navegador.
(function(){ let info = ""; info = "El codigo que esta internamente\n"; info += "en esta funcion, no puede\n"; info += "ser consultado desde la consola\n"; info += "del navegador.\n"; console.log(info);})();Referentes
Section titled “Referentes”Ejercicios
Section titled “Ejercicios”- Realice la función factorial, tenga presente los casos especiales y el desbordamiento.
- Cree una función, que calcule los valores de la función Math.sin y Math.cos entre 0 y Math.PI, almacene los datos en una matriz y retorne el resultado.
- Cree una función que se llame tangente, que reciba la matriz del punto anterior, y calcule la tangente usando los valores de la matriz, si la tangente no existe, se debe imprimir el mensaje
error, no existecaso contrario se imprime el valor. - Cree una función que calcule valores aleatorios enteros entre
minymax. - Realice el curso de javascript funcional de nodeschool.