No meu código abaixo, quando cancelo as entradas do prompt, a mensagem de retorno exibe"O null está pior que o ano passado.
FIM."
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function exibeMensagem(frase) {
document.write(frase);
pulaLinha();
}
var time = prompt("Informe o nome do seu time.");
var numeroPontos = prompt("Informe a quantidade de pontos do " + time + ".");
if(numeroPontos > 10) {
exibeMensagem("O " + "<strong>" + time + "</strong>" + " está <strong>melhor</strong> que o ano passado.")
}
if(numeroPontos < 10) {
exibeMensagem("O " + "<strong>" + time + "</strong>" + " está <strong>pior</strong> que o ano passado.")
}
if(numeroPontos == 10) {
exibeMensagem("O " + "<strong>" + time + "</strong>" + " está <strong>igual</strong> que o ano passado.")
}
exibeMensagem("FIM.");
</script>
Já quando utilizo o parseInt():
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function exibeMensagem(frase) {
document.write(frase);
pulaLinha();
}
var time = prompt("Informe o nome do seu time.");
var numeroPontos = parseInt(prompt("Informe a quantidade de pontos do " + time + "."));
if(numeroPontos > 10) {
exibeMensagem("O " + "<strong>" + time + "</strong>" + " está <strong>melhor</strong> que o ano passado.")
}
if(numeroPontos < 10) {
exibeMensagem("O " + "<strong>" + time + "</strong>" + " está <strong>pior</strong> que o ano passado.")
}
if(numeroPontos == 10) {
exibeMensagem("O " + "<strong>" + time + "</strong>" + " está <strong>igual</strong> que o ano passado.")
}
exibeMensagem("FIM.");
</script>
E cancelo as entradas do prompt, o resultado é: " FIM. " Analisando o console, a variável permanece como "null", mas a variável numeroPontos fica como NaN e portanto não entra em nenhuma comparação do if.
Se puderem esclarecer um pouco sobre o que acontece por "debaixo dos panos", agradeço.