From 1109132f09d75da9a28b649c7677bb6ce07c40c0 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:45 -0500 Subject: initial commit --- files/es/glossary/iife/index.html | 53 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 files/es/glossary/iife/index.html (limited to 'files/es/glossary/iife/index.html') diff --git a/files/es/glossary/iife/index.html b/files/es/glossary/iife/index.html new file mode 100644 index 0000000000..c758bbc46e --- /dev/null +++ b/files/es/glossary/iife/index.html @@ -0,0 +1,53 @@ +--- +title: 'IIFE: Expresión de función ejecutada inmediatamente' +slug: Glossary/IIFE +tags: + - Funciones +translation_of: Glossary/IIFE +--- +

Las expresiones de función ejecutadas inmediatamente (IIFE por su sigla en inglés) son funciones que se ejecutan tan pronto como se definen.

+ +
(function () {
+    statements
+})();
+ +

Es un patrón de diseño también conocido cómo función autoejecutable ({{glossary("Self-Executing Anonymous Function")}}  ) y se compone por dos partes. La primera es la función anónima con alcance léxico encerrado por el  {{jsxref("Operadores/Grouping", "Operador de Agrupación")}} (). Esto impide accesar variables fuera del IIFE, así cómo contaminar el alcance (scope) global. 

+ +

La segunda parte crea la expresión de función cuya ejecución es inmediata (), siendo interpretado directamente en el engine de JavaScript.

+ +

Ejemplos

+ +

La función se convierte en una expresión de función que es ejecutada inmediatamente. La variable dentro de la expresíon no puede ser accesada desde afuera.

+ +
(function () {
+    var aName = "Barry";
+})();
+// Variable name is not accessible from the outside scope
+aName // throws "Uncaught ReferenceError: aName is not defined"
+
+ +

Asignar el IIFE a una variable almacena el valor de retorno, no la definición de la función.

+ +
var result = (function () {
+    var name = "Barry";
+    return name;
+})();
+// Immediately creates the output:
+result; // "Barry"
+ +

 

+ +

Aprende mas

+ +

Aprende acerca de

+ + + +

General knowledge

+ + -- cgit v1.2.3-54-g00ecf