Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Función
Unafunción es un fragmento de código que puede ser llamado por otro código o por sí mismo, o por unavariable que haga referencia a la función. Cuando se llama a una función, losargumentos se pasan a la función como entrada, y la función puede devolver opcionalmente una salida. Una función enJavaScript es también unobjeto.
El nombre de la función es unidentificador declarado como parte de una declaración de función o expresión de función. Elámbito de la función depende de si el nombre de la función es una declaración o una expresión.
In this article
Diferentes tipos de funciones
Unafunción anónima es una función que no tiene nombre:
function () {};// o se puede usar la anotación con flecha ECMAScript 2015() => {};Unafunción nombrada es una función con nombre:
function foo() {}// o se puede usar la anotación con flecha ECMAScript 2015const foo = () => {};Unafunción interna es una función que está dentro de otra función (cuadrado en este caso). Unafunció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 2015const sumarCuadrados = (a, b) => { const cuadrado = (x) => x * x; return cuadrado(a) + cuadrado(b);};Unafunción recursiva es una función que se llama a sí misma. Mirarecursión.
function bucle(x) { if (x >= 10) return; bucle(x + 1);}//Usando la anotación de flecha ECMAScript 2015const bucle = (x) => { if (x >= 10) return; bucle(x + 1);};Unaexpresión de una función que se invoca inmediatamente (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