2016-06-19 4 views
0

Я пишу эту основную структуру управления для урока, и я получаю неожиданное поведение.Проверка отсутствия ввода в структуре управления

var answer = prompt('what is your age'); 
 

 
if (answer >= 21) { 
 
    alert('good to go!'); 
 
} 
 
else if (answer < 21) { 
 
    alert('sorry not old enough'); 
 
} 
 
else if (answer != typeof Number) { 
 
    alert('please enter your age as a number'); 
 
} 
 
else if (answer === null) { 
 
    alert('you did not answer!'); 
 
}

На самой последней условна, я бы ожидать, что если бы я оставил приглашение пустым, он будет выполнять последнее предупреждение. Однако он просто говорит «не достаточно старый». Не обрабатывает ли вход в подсказку как 0? Как это исправить?

Спасибо.

ответ

0

Подскажите не возвращает null, если пользователь нажимает кнопку OK, чтобы проверить на пустоту, вам нужно проверить, если строка пуста answer === ""

0

Вам нужно переместить последние две проверки в верхней части, так как "" < 21 является true :

var answer = prompt('what is your age'); 
 

 
if (answer === '') { 
 
    alert('you did not answer!'); 
 
} else if (isNaN(answer)) { 
 
    alert('please enter your age as a number'); 
 
} else if (answer >= 21) { 
 
    alert('good to go!'); 
 
} else if (answer < 21) { 
 
    alert('sorry not old enough'); 
 
}