Oi Camila, tudo bem com você?
A função mostra(frase)
que está fora da função calculaIMC()
é a implementação dela, ou seja, a função em si. Enquanto que o mostra("O IMC calculado é: " + Math.round (imc))
que está dentro do calculaIMC()
é um chamado à função original que foi implementada lá fora. Mas o que isso quer dizer?
Vamos pensar primeiro sobre o que é uma função. Bom, uma função nada mais é que um conjunto de comandos que, juntos, realizam uma tarefa específica. Então, no caso domostra()
, o que acontece nessa função? Bom...
- Primeiro, ela recebe uma frase:
function mostra(frase) {
- Depois imprime ela na página:
document.write (frase);
- Por fim, pula uma linha:
pulo();
Para que, assim, seja formada a função mostra()
:
function mostra(frase) {
document.write (frase);
pulo();
}
Pois bem... dessa forma, toda vez que quisermos executar esses comandos, tudo o que precisamos fazer é chamar a função mostra()
de qualquer lugar, passando uma frase dentro dos parênteses. Assim como a função calculaIMC()
fez dentro dela:
mostra ("O IMC calculado é: " + Math.round (imc));
Veja então que criamos a função mostra()
que executa uma série de comandos e toda vez que quisermos executá-los em alguma parte do nosso código tudo o que precisamos fazer é chamá-la da forma como vimos aí em cima!
Finalizando com outro exemplo, veja que a função mostra()
faz a mesma coisa que a função calculaIMC()
, porém com a função pulo()
. Perceba que ao invés de escrevermos mostra()
dessa forma:
function mostra(frase) {
document.write (frase);
document.write ("<br><br>");
}
Optamos por chamar a função pulo()
no lugar, pois ela faz justamente o que nós queremos:
function mostra(frase) {
document.write (frase);
pulo();
}
function pulo() {
document.write ("<br><br>");
}
Espero ter ajudado. Se ficou qualquer dúvida é só avisar!
Bons estudos!!