From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/operators/function/index.html | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/operators/function/index.html (limited to 'files/pt-br/web/javascript/reference/operators/function') diff --git a/files/pt-br/web/javascript/reference/operators/function/index.html b/files/pt-br/web/javascript/reference/operators/function/index.html new file mode 100644 index 0000000000..a5950f8ea1 --- /dev/null +++ b/files/pt-br/web/javascript/reference/operators/function/index.html @@ -0,0 +1,113 @@ +--- +title: Expressão de função (function expression) +slug: Web/JavaScript/Reference/Operators/function +tags: + - Expressões Primárias + - Função + - Internet + - JavaScript + - Operador + - Rede + - Web +translation_of: Web/JavaScript/Reference/Operators/function +--- +
{{jsSidebar("Operators")}}
+ +

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çãoStatusComentários
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-13', 'Function definition')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-13', 'Function definition')}}{{Spec2('ES3')}}Initial definition. Implemented in JavaScript 1.5.
+ +

Compatibilidade de Navegador

+ + + +

{{CompatibilityTable}}

+ +

{{Compat("javascript.operators.function")}}

+ +

Veja também

+ + -- cgit v1.2.3-54-g00ecf