Oi Janile. Não lembro ao certo em que ponto do curso você esta, mas vou explicar o que acontece.
Toda variável declarada com var
dentro de uma função só existe dentro dessa função. É o que chamamos de escopo de uma função. Pense em uma função como uma caixa preta que você passa alguma informação para ela.. ela gera alguma coisa.
Ao longo do curso, você aprenderá fazer com que a função receba parâmetros (isso você já aprendeu), mas também que seja capaz de retornar um valor. Sendo assim, você passar algo para a função, ela digere essa informação e aplicar alguma lógica e no final retorna o resultado da operação.
Sendo assim, no caso da função calculaIMC
ela recebe a altura e o peso e o que ela deve devolver, retornar? O IMC calculado, certo?
Então, nesse estágio que você está, a única maneira de ter acesso a esse IMC calculad é dentro da própria função, por isso você pensou em usar o mostra dentro dela. Mas evoluindo com o curso você aprenderá fazer uma função retornar um valor, cuspir para fora dela uma das variáveis que foram declaradas dentro dela. Isso a permitirá fazer assim:
var alturaJanile = 1.75;
var pesoJanile = 57;
var imcDaJamile = calculaImc(pesoJanile, alturaJanile);
Só não vou explicar ainda a questão do retorno de uma função porque você ainda aprenderá no curso. Agora veja que se a função calculaImc
só calcula o IMC retornando-o para uma variável, você pode usar a função mostra para exibir o imcDaJamile sem ter que deixar fixo dentro de calculaImc
a função mostra.
Consegui lançar uma luz sob esse problema? Então, fique tranquila que você aprenderá no curso a retornar valores de funções.