martes, 26 de mayo de 2020

Funciones en javascript

 Funciones en javascript


Las funciones se pueden crear en forma de expresión o declaración:  

 // función en forma de declaración

function sumarAB(a,b){

return a+b;

} 

 

// función en forma de expresión

var sumar = function(a, b) { 

  return a + b;

}

 

Ambas funciones pueden ser invocadas llamándose por el nombre de la función, en el caso de la función-sentencia, o de la variable en el caso de la función-expresión

 

sumarNumeros(1,3) // retorna 4

sumar(1,1)  // retorna 2

 

 

 

Funciones autoejecutables

(function(p1,p2,...pn){/*....*/}(p1,p2,..pn); 



 

Sabemos que una IIFE(Immediately-invoked function expressions) es una función en forma de expresión que se ejecuta sobre la marcha, al mismo momento que se define:

var hola = function() {

  return "hola";

}();

console.log(hola);

 

Al poner los paréntesis, JavaScript evalúa el interior de los paréntesis como una expresión, igual que habría hecho con la suma de dos números:  (3 + 2) 

Envolver entre paréntesis la función permite decirle a JavaScript que estamos creando una función en forma de expresión, por lo que podemos autoinvocarla en el mismo momento de la declaración.

Utilidad de las funciones autoejecutables en forma de expresión

Una función autoejecutable crea un nuevo contexto donde podemos declarar variables a salvo de otras variables definidas en el ámbito global. Por ejemplo, si tenemos una variable global  saludo  , podemos definir otra variable con el mismo nombre dentro de la IIFE, sin miedo a que ambas colisionen

var saludo = "hola";

(function(nombre){ 

  var saludo = "buenos días"; 

  console.log(saludo + " " + nombre);

}("Juan"));  //>> buenos días Juan

 

En este ejemplo, la IIFE se ejecuta automáticamente después de ser definida y muestra por la consola un saludo. En este caso, dentro de la IIFE la variable  saludo  contiene el texto  "buenos días" , sin afectar a la variable  saludo  global.

 

Funciones Anónimas:

Son funciones sin nombre o identificador que se pueden pasar a otras funciones o asignarlas a variables

 

var sumar = function(a,b){

       return a+b;

}

var resultado = sumar(1,2);

console.log(resultado);

No hay comentarios:

Publicar un comentario