freeCodeCamp/guide/portuguese/javascript/function-invocation/index.md

71 lines
2.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

---
title: Function Invocation
localeTitle: Função Invocação
---
## Função Invocação
O código dentro de uma função é executado quando a função é invocada. É comum usar o termo "chamar uma função" em vez de "invocar uma função".
As funções devem estar no escopo quando são chamadas. O escopo de uma função é a função na qual ela é declarada ou o programa inteiro, se for declarado no nível superior.
```javascript
function myFunction(a, b) {
return a * b;
}
myFunction(10, 2); // Function invocation, will return 20
//optional parameters (es6 only)
//allow to set optional parameters
function myFunction(a, b = 10) {
return a * b;
}
myFunction(1); // Function invocation, will return 10
myFunction(1,5); // Function invocation, will return 5
```
No código de exemplo, aeb são os parâmetros da função que contêm os valores 10 e 2, que são os argumentos usados na chamada de função.
### Invocando uma função como um método
Em JavaScript, você pode definir funções como métodos de objeto.
O exemplo a seguir cria um objeto ( `myObject` ), com duas propriedades ( `firstName` e `lastName` ) e um método ( `fullName` ):
```javascript
var myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName(); // Function invoked as a method, will return "John Doe"
```
### Funções de seta
Na versão mais recente do Javascript, você também pode reduzir a sintaxe usando as Funções de seta. A seguir demonstra duas funções. Um é escrito na forma padrão, um é escrito como uma função de seta. Lembre-se de que as funções de seta não têm isso, argumentos, super ou new.target.
```javascript
//regular function
function addStuff(args) {
return args + 2;
}
addStuff(2);
//returns 4
//arrow function
var addStuff = (args) => args + 2;
addStuff(2);
//returns 4
```
Essa versão abreviada da função de seta tem um retorno implícito, portanto você não especifica uma instrução de retorno.
### Mais Informações:
* Documentação de função: [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions)