Olá, Luã! Tudo bem?
Pelo que verifiquei, seu código está correto. O que deve estar acontecendo é que, por algum motivo, o JS está entendendo um (ou os dois) números que você passa no prompt como string. Desta forma, ao invés de somar, ele concatena.
Para resolver isso, é bem simples! Basta usar o parseInt para "forçar" a conversão de string para número inteiro, conforme você pode conferir no return da function "a", na linha 16.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function a(numero1, numero2) {
return (parseInt(numero1) + parseInt(numero2));
}
var nome = prompt("Informe seu nome");
var numeroPreferido = prompt(nome + ", Informe seu número preferido");
var segundoNumeroPreferido = prompt(nome + ", Informe seu segundo número preferido");
var resultado = a(numeroPreferido, segundoNumeroPreferido) ;
document.write(nome + ", a soma dos seus números preferidos é " + resultado);
</script>
Desta forma, a soma funciona direitinho!
Espero ter ajudado! :)