Почему опросник работает некорректно

пытаюсь разобраться как работают функции в 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);

→ Ссылка