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/funci\303\263n/index.html" | 91 +++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 "files/es/glossary/funci\303\263n/index.html" (limited to 'files/es/glossary/función/index.html') diff --git "a/files/es/glossary/funci\303\263n/index.html" "b/files/es/glossary/funci\303\263n/index.html" new file mode 100644 index 0000000000..f67d9e90c8 --- /dev/null +++ "b/files/es/glossary/funci\303\263n/index.html" @@ -0,0 +1,91 @@ +--- +title: Función +slug: Glossary/Función +tags: + - CodingScripting + - Glosario + - IIFE + - JavaScript +translation_of: Glossary/Function +--- +

Una función es un fragmento de código que puede ser llamado por otro código o por sí mismo, o por una {{Glossary("variable")}} que haga referencia a la función. Cuando se llama a una función, los {{Glossary("Argument", "argumentos")}} se pasan a la función como entrada, y la función puede devolver opcionalmente una salida. Una función en {{glossary("JavaScript")}} es también un {{glossary("object", "objeto")}}.

+ +

El nombre de la función es un {{Glossary("identifier", "identificador")}} declarado como parte de una declaración de función o expresión de función. El {{Glossary("scope", "ámbito")}} de la función depende de si el nombre de la función es una declaración o una expresión.

+ +

Diferentes tipos de funciones

+ +

Una función anónima es una función que no tiene nombre:

+ +
function () {};
+// o se puede usar la anotación con flecha ECMAScript 2015
+() => {};
+
+ +

 

+ +

Una función nombrada es una función con nombre:

+ +
function foo() {};
+// o se puede usar la anotación con flecha ECMAScript 2015
+const foo = () => {};
+
+ +

Una función interna es una función que está dentro de otra función (cuadrado en este caso). Una función externa es una función que contiene a otra función (sumarCuadrados en este caso):

+ +
function sumarCuadradors(a,b) {
+   function cuadrado(x) {
+      return x * x;
+   }
+   return cuadrado(a) + cuadrado(b);
+};
+//Usando la anotación de flecha ECMAScript 2015
+const sumarCuadrados = (a,b) => {
+   const cuadrado = x => x*x;
+   return cuadrado(a) + cuadrado(b);
+};
+
+ +

Una función recursiva es una función que se llama a sí misma. Mira {{Glossary("Recursion", "recursión")}}.

+ +
function bucle(x) {
+   if (x >= 10)
+      return;
+   bucle(x + 1);
+};
+//Usando la anotación de flecha ECMAScript 2015
+const bucle = x => {
+   if (x >= 10)
+      return;
+   bucle(x + 1);
+};
+
+ +

Una expresión de una función que se invoca inmediatamente ({{glossary("IIFE")}}, por sus siglas en inglés) es una función que se llama directamente después de que la función se haya cargado en el compilador del navegador. La forma de identificar un IIFE es ubicando el paréntesis izquierdo y derecho adicional al final de la declaración de la función.

+ +
// Error (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
+/*
+​function foo() {
+    console.log('Hello Foo');
+}();
+*/
+
+(function foo() {
+    console.log("Hello Foo");
+}());
+
+(function food() {
+    console.log("Hello Food");
+})();
+
+
+ +

Si desea obtener más información sobre las IIFE, consulte la siguiente página en Wikipedia: Immediately Invoked Function Expression

+ +

Saber más

+ +

Referencias técnicas

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