Javascript, sobre o prompt de loop infinito e a interrupção desse loop
Eu sou novo em javascript, então essa é a minha história por trás :) Esse código continua travando meu navegador e não me permite cancelar o prompt se eu não cancelar na primeira tentativa, digitando um número ou não. De qualquer forma, mesmo o jogo não funciona, que é apenas para chegar a um ponto em que o número secreto é o número de adivinhação da pessoa. Para cancelar o prompt, eu até tentei se (answer === null || answer === false || answer === "null") break; mas não vai funcionar. Alguém pode ajudar? Obrigado.
Aqui está o meu código:
<script>
var secret_number=Math.floor((Math.random() * 10) + 1);
var answer=prompt("Enter a number you want to try");
while(secret_number!==Number(answer))
{
if(name===null||name===false||name==="null")
break;
if(Number(answer)>secret_number)
prompt("This number is too high!");
else if(Number(answer)<secret_number)
prompt("This number is too low!");
else
prompt("You got it!");
}
</script>
Eu tenho uma questão de acompanhamento. Levei em consideração o que as pessoas me disseram e sugeri isso:
var secret_number=Math.floor((Math.random() * 10) + 1);
var answer=parseInt(prompt("Enter a number you want to try"));
while(secret_number!==answer)
{
if(answer == null || answer == "" ||isNaN(answer))
break;
if(answer>secret_number)
answer=prompt("This number is too high!");
else if(answer<secret_number)
answer=prompt("This number is too low!");
else
alert("You got it!");
}
Minha pergunta é: como é que o meu "Você conseguiu!" alerta continua infinitamente? Sei que posso fazê-lo parar por aí, mas quero saber por que continua fazendo isso. Deveria ter essa resposta secret_number === e sair do loop while, então obviamente não está fazendo isso, e eu não entendo o porquê. Mais uma vez obrigado.