Oi Johnny, tudo bem?
O return é utilizado para casos que eu precise utilizar o valor retornado em outro trecho do código. Não necessariamente para printar a informação, mas talvez, para fazer outro cálculo a partir do valor retornado. Então, nem sempre você poderá utilizar um document.write() para evitar o retorno. Retomando o código da atividade temos:
function calculaImc(altura, peso) {
var imc = peso / (altura * altura);
return imc;
}
var imcFlavio = calculaImc(1.71, 73);
var imcAmigo = calculaImc(1.72, 68);
mostra(imcFlavio);
mostra(imcAmigo);
Observe que na função calculaImc() é retornado o valor do imc e este valor é guardado na variável imcFlavio e imcAmigo. A partir disto, eu uso as variáveis( imcFlavio e imcAmigo) que guardaram este valor do imc retornado e uso em outro trecho do código, passando como parâmetro para função mostra, responsável por exibir na tela. Neste caso tudo bem, poderia
usar o document.write () e evitar o retorno.
Entretanto, vale ressaltar que retornar o valor é uma questão de separar as responsabilidades do seu código. Uma função realiza o cálculo, outra escreve na tela... cada uma com sua responsabilidade única.
Espero ter ajudado. Bons estudos!!!