Duplicado.
Oi isnard santos neto a função não é n, a função é sorteia esse é o nome da função, o parâmetro que você escolheu se chama n, e poderia ser qualquer nome, esse parâmetro representa dentro do contexto da função o número máximo a ser sorteado randomicamente pela nossa função Math.random, quando você passa nessa linha:
var numeroPensado = sorteia(10);
Você está dizendo que quer um número sorteado até 10, e é isso que a função retorna pra quem a chamar um número sorteado com a função Math.random e arredondado pelo função Math.round ou seja esse número vai vim inteiro.
e a nossa variável numeroPensado é quem vai armazenar esse retorno, ou seja o resultado dessa função.
Quanto a deixar o código mais enxuto, eu vejo muitas dúvidas aqui no fórum nesse sentido de vez em quando até dou uma dicas, mas gostaria de salientar que nesse curso de lógica o refinamento não é tão importante, você precisa entender sim, como funciona uma função o return como é o processamento da função, mas refinamento vem com o tempo, com a prática, em outros cursos você vai aprender mais recursos da linguagem que vão te possibilitar dar mais refinamento ao seu código, ok, sem pressa pessoal :) Ainda tem um paradigma
codigo enxuto x código legível
Eu vou deixar uma dica mais como eu disse não se prenda muito nisso:
if(chute == numeroPensado)
mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
else if ( chute < numeroPensado)
mostra(" voce errou , o numero ta abaixo do valor real " + numeroPensado);
else
mostra("voce errou o numero ta maior que o humero real " + numeroPensado);
Como o if só tem uma instrução você pode omitir as chaves e como são 3 hipoteses diferentes você pode usar a combinação if, else if e else.
Espero ter ajudado e bons estudos.