@Lolipop999

Как прервать выполнение условия if в функции?

При вводе в prompt пустой строки или букв выдается окно 'Было введено не число, попробуйте еще раз' и должно снова всплыть окно с полем ввода, но всплывает 'Родители разрешили?' . Как сделать так, чтобы при вводе пустой строки или букв, выводилось 'Было введено не число, попробуйте еще раз' и снова был возврат в поле ввода? То есть пока пользователь не введет возраст, будет возврат к полю ввода.Я думал может это как-то можно сделать через цикл и break и continue, но так и не понял как.

let age = prompt('Сколько вам лет?', '');

function checkAge(age) {
  if (isNaN(age) || age === '') alert('Было введено не число, попробуйте еще раз');
  if (age > 18) return true;
  else return confirm('А родители разрешили?');
}

if (checkAge(age)) {
  alert('Доступ получен');
} else {
  alert('Доступ закрыт');
}
  • Вопрос задан
  • 281 просмотр
Пригласить эксперта
Ответы на вопрос 2
imko
@imko
Senior Scratch Developer
Бесконечный while) Даже пример в моем любимом учебнике есть. Ну либо обойтись без его прерывания а в условие кинуть переменную которая сменится на false когда получишь нужный ввод
Ответ написан
@Vadimych1
Просто я.
function checkAge() {
let age = prompt('Сколько вам лет?', '');
while (isNaN(age) && age==''){
alert("Попробуйте ещё раз")
}
if age > 18 return true
else return confirm('А родители разрешили?')
}

if (checkAge()) {
  alert('Доступ получен');
} else {
  alert('Доступ закрыт');
}


Так должно работать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы