Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas com o Código por causa do abrir e fechar { }

Eu montei o meu código todo certo da atividade de adivinhação do número que a máquina está pensando. Vejam:

<meta chartset="UTF-8">

<script>

    function showText(text) {
        document.write(text);
    }

    function sorteia(n) {
        return Math.round(Math.random() * n);
    }

    var numeroPensado = parseInt(prompt("Qual número eu estou pensado?"));
    var resultado = sorteia(10);

    if (numeroPensado == resultado) {

        showText("Você leu a minha mente! Espera... eu não tenho cérebro");

    } else {

        if (numeroPensado < resultado) {

            showText("O seu número foi menor que o meu que era " + resultado);

        } else {

            if (numeroPensado > resultado) {

                showText("O seu número passou o meu que era " + resultado);
            }

</script>

Porém, no final do código, logo em </script> está acusando que possui um erro de sintaxe. E eu não estou entendendo onde estou errando, pois no exemplo que vi, teve abre e fecha chave antes e depois de Else.

Até que eu mudei o meu código assim:

if (numeroPensado == resultado) {

        showText("Você leu a minha mente! Espera... eu não tenho cérebro");

    } else 

        if (numeroPensado < resultado) {

            showText("O seu número foi menor que o meu que era " + resultado);

        } else 
                showText("O seu número passou o meu que era " + resultado);

E o código funcionou perfeitamente.

Você saberia me dizer se isso é algo do navegador ou eu realmente errei no desenvolvimento?

1 resposta
solução!

Olá Gabriela, tudo bem?

Na verdade das duas maneiras o código funciona. O que ocorreu no primeiro código que fez foi que esqueceu de duas chaves no final:

  } else {

            if (numeroPensado > resultado) {

                showText("O seu número passou o meu que era " + resultado);
            }
} }     ### AQUI !!!!

Acompanhe as chaves que abriu e verifique que realmente elas não foram fechadas!

A segunda abordagem é mais recomendada pois deixa o código mais legível e menos propenso a erros justamente como o que ocorreu quando nos perdemos com tantas aberturas e fechamentos de chaves!!

Então, prefira else if {} ao invés de else { if {} }.

Bons estudos!!