Всем привет. Нужна ваша помощь. Есть задание - "Спросить у пользователя возраст. Если больше 18 заходите, если меньше - уходите. Но так же нужно предусмотреть что польозователь ничего не введет". Написал такой код
function userAge() {
var age = prompt('Привет. Сколько вам лет?');
if (age >= 18) {
alert('Вы можете войти на сайт!');
} else if (age < 18) {
alert('Вход на сайт только для людей старше 18!');
}
else {
alert('Попробуйте еще раз!');
age = prompt('Привет. Сколько вам лет?');
}
}
userAge();
Но условие в else не возвращается.
проверяйте переменную age, если она пустая или не является числом запустите функцию еще раз (рекурсия).
function userAge() {
var age = prompt('Привет. Сколько вам лет?');
if (age && !isNaN(age)) {
if (age >= 18) {
alert('Вы можете войти на сайт!');
} else if (age < 18) {
alert('Вход на сайт только для людей старше 18!');
}
} else {
alert('Попробуйте еще раз!');
userAge();
}
}
userAge();
Первое - вам нужно сразу конвертировать строку в int. В JS это можно сделать с помощью +;
Далее - используем do-while цикл и проверяем, верное ли значение введено как age > 0 (количество лет человека не может быть меньше нуля, младенец младше года вряд ли зайдет).
Также я предлагаю обернуть в цикл только момент ввода данных.
function userAge() {
let age;
do {
age = +prompt('Привет. Сколько вам лет?');
} while (age <= 0);
if (age >= 18) {
alert('Вы можете войти на сайт!');
} else if (age < 18) {
alert('Вход на сайт только для людей старше 18!');
}
}
userAge();
А если так? )
function userAge() {
var age = prompt('Привет. Сколько вам лет?');
if (age >= 18 && age != "") {
alert('Вы можете войти на сайт!');
} else if (age < 18 && age != "") {
alert('Вход на сайт только для людей старше 18!');
}
else {
alert('Попробуйте еще раз!');
userAge();
}
}
userAge();
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники