Почему опросник работает некорректно
пытаюсь разобраться как работают функции в JS и сижу уже полчаса не понимаю почему userGender не возвращается в консоли и почему после ввода возраста появляется дополнительное alert окно, которое пустое...
function getUserData(ageQuestion, genderQuestion) {
let tries = 10;
let userAge = prompt(ageQuestion);
let userGender = prompt(genderQuestion);
while (true) {
if (userAge > 0) {
return userAge;
}
if (userGender === "Мужчина" || "Женщина") {
alert("Добро пожаловать");
return userGender;
} else if (tries === 0) {
alert("Попытки закончились, вы временно заблокированны.");
} else {
alert("данные введены некорректно, " + "у вас осталось " + tries + " попыток");
tries--;
}
}
}
let age = getUserData("Сколько вам лет? ( Пример - 21 )");
let gender = getUserData("Укажите ваш пол ( Пример - Мужчина / Женщина )");
console.log(age, gender);
Ответы (1 шт):
Автор решения: ΝNL993
→ Ссылка
Если судить по вашему коду он работает ровно так как его и написали, вот тут: let gender = getUserData("Укажите ваш пол ( Пример - Мужчина / Женщина )"); указываете в что функции только поле вопроса для возраста, а вот пол пропускаете, к тому же сначала ещё раз будет promt вопроса про возраст, внимательней прочитайте свой код. Давайте лучше сделаем отдельный объект в котором будут две функции, так будет меньше парева добавлять новые вопросе.
var getUserData = {
age: function(question) {
let tries = 10;
while (true) {
let userAge = prompt(question);
if(userAge) {
return userAge
} else if (tries === 0) {
alert("Попытки закончились, вы временно заблокированны.");
} else {
alert("данные введены некорректно, у вас осталось " + tries + " попыток");
tries--;
}
}
},
gender: function(question) {
let tries = 10;
while(true) {
let userGender = prompt(question);
if (userGender === "Мужчина" || "Женщина") {
alert("Добро пожаловать");
return userGender;
} else if (tries === 0) {
alert("Попытки закончились, вы временно заблокированны.");
} else {
alert("данные введены некорректно, у вас осталось " + tries + " попыток");
tries--;
}
}
}
}
let age = getUserData.age("Сколько вам лет? ( Пример - 21 )");
let gender = getUserData.gender("Укажите ваш пол ( Пример - Мужчина / Женщина )");
console.log(age, gender);