Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему при выполнении условия, срабатывает другая часть кода? (https://javascript.ru/forum/dom-window/84761-pochemu-pri-vypolnenii-usloviya-srabatyvaet-drugaya-chast-koda.html)

Roro9995 10.12.2022 23:39

Почему при выполнении условия, срабатывает другая часть кода?
 
При вводе возраста больше 18 должно вылезать окно 'Доступ получен', но в итоге при вводе возраста больше 18 почему-то вылезает окно 'А родители разрешили?', которое не соответствует условию кода и должно появляться, если возраст меньше 18. Почему и как исправить?

function getAge() {
  while (true) {
    let age = prompt('Сколько вам лет?', '');
    if (isNaN(age) || age === '') alert('Было введено не число. Попробуйте ещё раз');
    else break;
  }
}

let age = getAge();

function checkAge(age) {
  if (age >= 18) return true;
  else return confirm('А родители разрешили?');
}


alert(checkAge(age) ? 'Доступ получен' : 'Доступ закрыт');

Aetae 11.12.2022 01:48

Из getAge ты ничего не возвращаешь. Т.е. результат выполнения getAge всегда undefined.

Roro9995 03.01.2023 06:28

Цитата:

Сообщение от Aetae (Сообщение 549331)
Из getAge ты ничего не возвращаешь. Т.е. результат выполнения getAge всегда undefined.

а как исправить?

Aetae 03.01.2023 06:56

Roro9995, что-нибудь вернуть.


Часовой пояс GMT +3, время: 02:29.