Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Função
Umafunção(function) é um fragmento de código que pode ser invocado por outro código, por si mesmo ou umavariável que se refere à função. Quando uma função é invocada, oargumento é passado para a função como input (entrada) e a função pode opcionalmente retornar um output (saída). Uma função emJavaScript também é umobjeto.
O nome da função é umidentificador declarado como parte de uma declaração de função ou expressão de função. O nome da funçãoescopo depende se o nome da função é uma declaração ou expressão.
In this article
Diferentes tipos de funções
Umafunção anônima é uma função sem o nome da função:
function () {};// or using the ECMAScript 2015 arrow notation() => {};Umafunção nomeada é uma função com o nome da função:
function foo() {}// or using the ECMAScript 2015 arrow notationconst foo = () => {};Umafunção interna é uma função dentro de outra função (square nesse caso). Umafunção externa é uma função contendo uma função (addSquares nesse caso):
function addSquares(a, b) { function square(x) { return x * x; } return square(a) + square(b);}//Using ECMAScript 2015 arrow notationconst addSquares = (a, b) => { const square = (x) => x * x; return square(a) + square(b);};Umafunção recursiva é uma função que invoca a si mesma. Vejarecursão.
function loop(x) { if (x >= 10) return; loop(x + 1);}//Using ECMAScript 2015 arrow notationconst loop = (x) => { if (x >= 10) return; loop(x + 1);};UmaExpressão de Função Invocada Imediatamente (IIFE em Inglês) é uma função que é invocada diretamente após a função ser carregada no compilador do navegador. A maneira de identificar um IIFE é localizar os parênteses extra esquerdo e direito no final da declaração da função.
// 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");})();Se gostaria de saber mais sobre o IIFE, confira a seguinte página no Wikipédia :Immediately Invoked Function Expression