Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Expressão de função (function expression)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
A palavra-chavefunction pode ser usada para definir uma função dentro de uma expressão.
In this article
Sintaxe
function [name]([param1[, param2[, ..., paramN]]]) { statements}Parâmetros
nameO nome da função. Pode ser omitido, neste caso a função será anônima. O nome só é local em relação ao corpo da função.
paramNO nome de um argumento a ser passado para a função.
statementsAs declarações que compreendem o corpo da função.
Descrição
Uma expressão de função (function expression) é muito similar e tem quase a mesma sintaxe de uma declaração de função (vejafunction statement para mais detalhes). A principal diferença entre uma expressão de função e a declaração de uma função é o nome da função (function name), o qual pode ser omitido em expressões de funções para criar funções anônimas. Veja ainda o capítulo sobrefunções para maiores informações.
Exemplos
O exemplo a seguir define uma função sem nome e a atribui a x. A função retorna o quadrado de seu argumento:
var x = function (y) { return y * y;};Expressão de função nomeada
Se você quer se referir à função atual dentro do corpo da função, você terá que criar uma expressão de função nomeada. Este nome será local apenas para o corpo (escopo) da função. Isto ainda evita o uso da propriedade não-padronizadaarguments.callee.
var math = { factorial: function factorial(n) { if (n <= 1) return 1; return n * factorial(n - 1); },};Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-function-definitions> |
Compatibilidade com navegadores
Veja também
Funções e Escopos de FunçõesFunçãofunction statementfunction* statementfunction* expressionGeneratorFunctionVersãoCompatívelDesconhecidaVersãoCompatívelDesconhecida