You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Funções/funcoes.md
+81-13Lines changed: 81 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,15 +11,17 @@
11
11
<br>
12
12
13
13
# FUNÇÕES
14
+
14
15
-[O que são funções?](#o-que-são-funções)
15
16
-[Definindo uma função](#definindo-uma-função)
16
17
17
-
Funções são blocos fundamentais; Funções é um conjunto de instrução que executa um processamento e executa um conjunto de instruções. Podemos, por exemplo, criarmos uma função que calcula a média de uma turma e nos retorna um resultado.
18
+
Funções são blocos fundamentais; Funções é um conjunto de instrução que executa um processamento e executa um conjunto de instruções. Podemos, por exemplo, criarmos uma função que calcula a média de uma turma e nos retorna um resultado.
18
19
19
20
<br>
20
21
<br>
21
22
22
23
# O QUE SÃO FUNÇÕES?
24
+
23
25
Uma função é um pedaço de programa envolvido por um valor que pode ser aplicado para executar alguma funcionalidade. O `alert`, por exemplo, é uma função nativa do JavaScript que tem como objetivo mostrar uma pequena caixa de diálogo com uma mensagem.
24
26
25
27
```javascript
@@ -36,31 +38,96 @@ Existem seis tipos básicos de valores no JavaScript: _números, Strings, Boolea
36
38
<br>
37
39
38
40
# DEFININDO UMA FUNÇÃO
41
+
39
42
Uma função possui a definição similar a de uma variável — a única diferença é o valor que vai ser recebido pela variável é uma função.
40
43
41
-
~~~javascript
42
-
varcalcular=function(numero){
43
-
return numero + numero;
44
-
}
44
+
```javascript
45
+
varcalcular=function(numero){
46
+
return numero + numero;
47
+
};
45
48
46
49
console.log(calculo(12));
47
-
~~~
50
+
```
48
51
49
52
No exemplo anterior, declaramos a variável `calcular` e atribuímos o valor dessa variável o bloco da função — essa função possui o `return`, que retorna o valor do processamento. No caso do exemplo, o processamento foi o `numero` + `numero` como está escrito dentro do bloco da função. Abaixo, chamamos a função com o `console.log(calculo(12))`. O valor `12` é o valor do número que foi declarado na chamada da função e o cálculo será efetuado com esse valor.
50
53
51
-
É importante ressaltar que nem todas as funções retornam um valor, como demonstrado no exemplo acima.
54
+
É importante ressaltar que nem todas as funções retornam um valor, como demonstrado no exemplo acima.
52
55
53
-
~~~javascript
54
-
varfazerBarulho=function(){
55
-
console.log("AAAAAAAAAAAAAA");
56
-
}
56
+
```javascript
57
+
varfazerBarulho=function () {
58
+
console.log("AAAAAAAAAAAAAA");
59
+
};
57
60
fazerBarulho();
58
-
~~~
61
+
```
59
62
60
-
No exemplo anterior, temos o exemplo de uma função que não retorna um valor. Essa função `fazerBarulho` é chamada e o único processamento que ela faz é o `console.log("AAAAAAAAAAAAAA")`.
63
+
No exemplo anterior, temos o exemplo de uma função que não retorna um valor. Essa função `fazerBarulho` é chamada e o único processamento que ela faz é o `console.log("AAAAAAAAAAAAAA")`.
61
64
62
65
Todo os processamento em funções são determinado entre chaves `{}`.
63
66
67
+
<br>
68
+
<br>
69
+
70
+
# PARÂMETROS E ESCOPO
71
+
72
+
Toda variável tem um escopo, podendo ser local ou global. Parâmetros ou declarações criadas em uma função estão no escopo local. Sempre que uma função for chamada, uma nova instância do escopo local é criado; parâmetros declarados com `let` e `const` são declarações locais. Variáveis `let` e `const` declaradas dentro de escopos locais de funções não são visíveis fora do seu escopo.
73
+
74
+
```JavaScript
75
+
let x =21;
76
+
if(1+1===2){
77
+
let y =12;
78
+
var z =10;
79
+
console.log(x + y + z);
80
+
// -> 33
81
+
}
82
+
// a variável y não é visível aqui
83
+
console.log(x + z);
84
+
// -> 31
85
+
```
86
+
87
+
No exemplo anterior, vemos que o `console.log` fora da estrutura condicional (`if/else`) retorna o valor 31. Caso declararmos `console.log(x + z + y)`, haveria um erro pois o a variável `y`, que é um let, existe apenas dentro do escopo local. É importante ressaltar que esse comportamento em funções **não se repete**. Caso tentarmos utilizar qualquer variável declarada localmente na função não existiria no escopo global.
88
+
89
+
~~~JavaScript
90
+
let x =21;
91
+
92
+
varsoma=functionsoma(){
93
+
if(1+1===2){
94
+
let y =12;
95
+
var z =10;
96
+
console.log(x + y + z);
97
+
// -> 33
98
+
}
99
+
}
100
+
101
+
// A variável y e z não são visíveis aqui, a não ser que tenham sido declaradas globalmente
102
+
103
+
console.log(x);
104
+
// -> 21
105
+
~~~
106
+
107
+
Caso tentarmos imprimir a variável `y` ou `z`, da seguinte forma:
108
+
109
+
~~~JavaScript
110
+
let x =21;
111
+
112
+
varsoma=functionsoma(){
113
+
if(1+1===2){
114
+
let y =12;
115
+
var z =10;
116
+
console.log(x + y + z);
117
+
// -> 33
118
+
}
119
+
}
120
+
121
+
// A variável y e z não são visíveis aqui, a não ser que tenham sido declaradas globalmente
122
+
123
+
console.log(x + y);
124
+
// -> ReferenceError: y is not defined
125
+
~~~
126
+
127
+
Esse erro acontece pois a variável `y` não foi definida no escopo global, somente no escopo local da função.
128
+
129
+
130
+
64
131
<br>
65
132
<br>
66
133
@@ -88,6 +155,7 @@ Todo os processamento em funções são determinado entre chaves `{}`.
0 commit comments