Olá, quando eu uso var para definir a variável numeroPensado (linha 15) dentro da função sorteia(), dá o seguinte erro: Uncaught ReferenceError: numeroPensado is not defined at sorteio.html:24
Ou seja, a variável numeroPensado não está definida fora da função, mas quando eu tiro o var o programa funciona corretamente. A minha dúvida é por que o simples fato de ter um var antes da variável faz com que ela não seja definida fora da função? É só uma curiosidade mesmo, já que o programar no fim funcionou.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
function sorteia(n) {
n = parseInt(prompt("Qual o n? Responda de 0 à 100"));
numeroPensado = Math.round(Math.random() * n);
return numeroPensado;
}
sorteia();
var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));
if(chute == numeroPensado) {
mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
} else {
if(chute < numeroPensado) {
mostra("Você errou! Seu número era menor que o número pensado.");
}
if(chute > numeroPensado) {
mostra("Você errou! Seu número era maior que o número pensado.");
}
mostra("Eu tinha pensado no " + numeroPensado + ".");
}
</script>