Esta tradução está incompleta. Ajude atraduzir este artigo.
A palavara-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
Especificação | Status | Comentários |
---|---|---|
ECMAScript 2016 Draft (7th Edition, ECMA-262) The definition of 'Function definitions' in that specification. |
Draft | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Function definitions' in that specification. |
Standard | |
ECMAScript 5.1 (ECMA-262) The definition of 'Function definition' in that specification. |
Standard | |
ECMAScript 3rd Edition (ECMA-262) The definition of 'Function definition' in that specification. |
Standard | Initial definition. Implemented in JavaScript 1.5. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |