Skip to content

Commit 540d1a0

Browse files
committed
Merge pull request #105 from tableless/o-que-sao-funcoes
Introdução, explicando o que são funções #15
2 parents 2810a15 + abd98ce commit 540d1a0

File tree

1 file changed

+81
-1
lines changed

1 file changed

+81
-1
lines changed

manual/js/funcoes.html

+81-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,85 @@
77
<article class="content">
88
<h1>Funções</h1>
99
<h2>Criando e usando funções personalizadas</h2>
10-
<p>Esta página está em construção. Volte em breve ou <a href="https://github.com/tableless/iniciantes">ajude a completá-la</a>!</p>
10+
11+
<p>Inicialmente, pense em funções como caixinhas mágicas: você joga coisas dentro, algo acontece e você recebe de volta uma transformação do que foi colocado. Por exemplo: imagine uma caixinha em que você coloca dois números: 3 e 5 e a caixa te devolve 8.</p>
12+
13+
<p>Os números 3 e 5 que colocamos dentro da caixa iremos chamar de <b>argumentos</b> e o 8 que recebemos, iremos chamar de <b>retorno</b>.</p>
14+
15+
<p>Nem sempre uma função terá argumentos e nem sempre terá um retorno, mas certamente ela irá realizar alguma coisa de nosso interesse, seja mudar a cor de algum elemento, abrir uma janela popup, ou qualquer uma das outras coisas que a linguagem JavaScript pode fazer.</p>
16+
17+
<p>As linguagens de programação já possuem algumas funções pré-definidas para nos ajudar. Da linguagem JavaScript podemos citar: <code>open()</code>(usada para abrir janelas popup), <code>parseInt()</code> (usada para converter um número ou string em inteiro), <code>encodeURI()</code> (codifica uma cadeia de caracteres em um URI válido)... </p>
18+
19+
<h2>Resolvendo problemas</h2>
20+
21+
<p>Sempre que estivermos programando em qualquer linguagem, temos que ter em mente uma coisa muito importante: <em>"o melhor jeito de resolver um problema grande é dividi-lo em problemas menores"</em>, cada um desses "problemas menores" serão resolvidos por funções pequenas, assim juntando as várias pequenas funções, teremos resolvido "o todo".</p>
22+
23+
<p>Apesar de ser possível escrever todo o código que resolve o problema grande numa única função gigante, não fazemos isso. Pois isso tornaria muito complexo nosso código, dificultaria uma futura manutenção e impossibilitaria o reaproveitamento de pequenas rotinas. Por isso preferimos dividir e depois criar uma função grande que utilize nossas outras funções pequenas, do que escrever tudo num só lugar.</p>
24+
25+
<h2>Declarando</h2>
26+
27+
<p>A declaração de uma função é quando construimos a caixa mágica.</p>
28+
29+
<pre class="lang-javascript linenums prettyprint">
30+
function foo() {
31+
//corpo
32+
}
33+
</pre>
34+
35+
<p><code>foo</code> é o nome da função e o código entre as chaves {}, é o corpo da nossa função. A palavra <code>function</code> é a forma da linguagem JavaScript indicar que estamos <b>declarando</b> uma função (criando a caixa mágica).</p>
36+
37+
<h2>Invocando</h2>
38+
39+
<p>Após construirmos a caixa, ela por si só não faz absolutamente nada até a chamarmos. A invocação consiste em colocar o nome da função seguido pelos parênteses. Isso faz com que o código dentro do corpo da nossa função seja executado.</p>
40+
<pre class="lang-javascript linenums prettyprint">
41+
foo();
42+
</pre>
43+
44+
<p>Experimente salvar um arquivo .html e abrir com o seu navegador, contendo o seguinte código:</p>
45+
<pre class="lang-html linenums prettyprint">
46+
&lt;script>
47+
function bar() {
48+
alert('Hello World');
49+
}
50+
&lt;/script>
51+
</pre>
52+
<p>Após abrir o arquivo com qualquer navegador, você irá notar que não irá acontecer absolutamente nada. Sim, nada. Pois ainda não <b>invocamos</b> a função. Apenas a <b>declaramos</b>. Para invocar, o arquivo ficaria com o seguinte conteúdo:</p>
53+
54+
<pre class="lang-html linenums prettyprint">
55+
&lt;script>
56+
// declarando
57+
function bar() {
58+
alert('Hello World');
59+
}
60+
61+
// invocando
62+
bar();
63+
&lt;/script>
64+
</pre>
65+
66+
<h2>Exemplo de função com argumentos e retorno</h2>
67+
68+
<p>Lembram que eu iniciei o texto falando de uma caixa mágica que recebia 2 números e devolvia a soma deles ? Essa função ficaria assim:</p>
69+
<pre class="lang-javascript linenums prettyprint">
70+
function somar(x, y) {
71+
return x + y;
72+
}
73+
</pre>
74+
<p>E para invocar essa função <code>somar()</code> podemos passar quaisquer dois números:</p>
75+
<pre class="lang-javascript linenums prettyprint">
76+
somar(3, 5);
77+
somar(1, 2);
78+
somar(10, 32);
79+
</pre>
80+
<p>Só que não vermos nada, pois não direcionamos o <code>return</code> para lugar nenhum.</p>
81+
82+
<pre class="lang-javascript linenums prettyprint">
83+
&lt;p id="resultado">&lt;/p>
84+
&lt;p id="resultado2">&lt;/p>
85+
&lt;script>
86+
alert(somar(3, 5));
87+
document.getElementById('resultado').innerHTML = somar(1, 2);
88+
document.getElementById('resultado2').innerHTML = somar(10, 32);
89+
&lt;/script>
90+
</pre>
1191
</article>

0 commit comments

Comments
 (0)