Olá, Ana!
Certamente, houve algum problema na sua declaração da função mostra()
, mas como você não postou a sua implementação dessa função, não tenho como saber qual foi o erro.
Em relação a vantagem de se utilizar uma função definida por nós mesmos em vez da função document.write()
, creio que podemos listar 2 principais motivos:
O primeiro é legibilidade: Apenas ao ler o nome da função mostra()
, qualquer pessoa que nunca tenha tido contato com programação ou JS é capaz de identificar que a função exibe algo. O mesmo não ocorre com a função document.write()
, o nome é menos intuitivo.
O segundo ponto é a manutenibilidade: Imagine que imprimimos 10 frases utilizando a função mostra()
e 10 frases utilizando a função document.write()
, e que agora, desejamos colocar uma quebra de linha após cada frase. Utilizando a função mostra()
, basta definirmos essa quebra de linha 1 vez (dentro da própria função), e todas as frases já serão impressas com a quebra de linha. No caso da document.write()
, precisaremos fazer o procedimento da quebra de linha 10 vezes. Ou seja, ao definirmos funções próprias, temos somente um ponto que precisará ser mudado, se for necessário fazer alguma alteração, facilitando na manutenção do código.
Espero ter ajudado!
Boa sorte em seus estudos!