From 68fc8e96a9629e73469ed457abd955e548ec670c Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:49:58 +0100 Subject: unslug pt-br: move --- files/pt-br/glossary/function/index.html | 93 ++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 files/pt-br/glossary/function/index.html (limited to 'files/pt-br/glossary/function/index.html') diff --git a/files/pt-br/glossary/function/index.html b/files/pt-br/glossary/function/index.html new file mode 100644 index 0000000000..e3a195cabd --- /dev/null +++ b/files/pt-br/glossary/function/index.html @@ -0,0 +1,93 @@ +--- +title: Função +slug: Glossario/Função +tags: + - Glossário + - Iniciante + - Intro + - JavaScript +translation_of: Glossary/Function +--- +

 

+ +

Uma função (function) é um fragmento de código que pode ser invocado por outro código, por si mesmo ou uma {{Glossary ("variável")}} que se refere à função. Quando uma função é invocada, o {{Glossary ("Argument", "argumento")}} é passado para a função como input (entrada) e a função pode opcionalmente retornar um output (saída). Uma função em {{glossary ("JavaScript")}} também é um {{glossary ("objeto")}}.

+ +

O nome da função é um {{Glossary ("identificador")}} declarado como parte de uma declaração de função ou expressão de função. O nome da função {{Glossary ("escopo")}} depende se o nome da função é uma declaração ou expressão.

+ +

Diferentes tipos de funções

+ +

Uma função anônima é uma função sem o nome da função:

+ +
function () {};
+// or using the ECMAScript 2015 arrow notation
+() => {};
+
+ +

 

+ +

Uma função nomeada é uma função com o nome da função:

+ +
function foo() {};
+// or using the ECMAScript 2015 arrow notation
+const foo = () => {};
+
+ +

Uma função interna é uma função dentro de outra função (square nesse caso). Uma funçã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 notation
+const addSquares = (a,b) => {
+   const square = x => x*x;
+   return square(a) + square(b);
+};
+
+ +

Uma função recursiva é uma função que invoca a si mesma. Veja {{Glossary("Recursão", "recursão")}}.

+ +
function loop(x) {
+   if (x >= 10)
+      return;
+   loop(x + 1);
+};
+//Using ECMAScript 2015 arrow notation
+const loop = x => {
+   if (x >= 10)
+      return;
+   loop(x + 1);
+};
+
+ +

Uma Expressã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

+ +

Leia mais

+ +

Referência técnica

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