71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
---
|
||
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) |