Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

numero pensado sempre começa vazio na primeira execução do programa

Quando inicio o programa a primeira vez o numeroPensado sempre começa vazio Eu coloquei um console.log para ver qual o número correto, mas sempre que inicio o programa ele não trás nada

<meta charset UTF-8>

<script>

    function mostra(frase){
        alert(frase);
    }

    var numeroPensado = Math.round(Math.random()*10);
    console.log(numeroPensado);

    var tentativas = 1;
    while(tentativas <= 3){
        var chute = parseInt(prompt("digite seu chute"));
        if(chute == numeroPensado){
            mostra("você ACERTOU! O numero pensado é " + numeroPensado);
            break;
        } else{
            if(chute < numeroPensado){
                mostra("você ERROU! o número é maior que " + chute);
            } else{
                if(chute > numeroPensado){
                    mostra("você ERROU! o número é menor que " + chute);
                }
            }
            if (tentativas == 3){
                mostra("você ERROU! O numero pensado era " + numeroPensado);
            }
        }
        tentativas++;
    }

</script>
3 respostas

Boa tarde!

Luiz José eu testei o seu código aqui no meu navegador ele funcional 100% o console log mostrou o número secreto e em todos carregamento. não apresentou esse erro que apontado.

testa de novo em outro navegador para ver se funciona!

Espero ter ajudado!

bons estudos!

solução!

Bom dia Luiz,

Esse erro pode ser relacionado ao fato do JavaScript ser assíncrono. Assim ao você realizar seu console.log o Java Script ainda não terminou de executar os cálculos do numeroPensado, mantendo o seu valor como null (vazio).

Você pode resolver isso fazendo uma função com retorno para o numeroPensado ou então um console.log com mais tempo de execução.

Espero ter ajudado,

Quanto ao fato do JavaScript ser assíncrono, parece ser isso mesmo, porque o número já está lá, mas ele só é exibido no console.log no final da execução