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-chave function pode ser usada para definir uma função dentro de uma expressão.
Sintaxe
function [name]([param1[, param2[, ..., paramN]]]) {
statements
}
Parâmetros
name-
O 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.
paramN-
O nome de um argumento a ser passado para a função.
statements-
As 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 (veja function 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 sobre funçõ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-padronizada arguments.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
Enable JavaScript to view this browser compatibility table.
Veja também
Funções e Escopos de FunçõesFunçãofunction statementfunction* statementfunction* expressionGeneratorFunctionVersãoCompatívelDesconhecidaVersãoCompatívelDesconhecida