@ikislov

Easy. Как работает указанный код?

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

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

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

Пожалуйста, разъясните поэтапно, я совсем запутался.

1. Я так понял, первое что выполняет код - это 9 строка с объявлением переменной и вызовом prompt.

2. Дальше срабатывает 11 строка if, именно здесь и вызывается функция, правильно я понимаю?

3. Далее выполняется функция - если значение переменной age > 18 возвращает true, функция ретёрном прыгает в alert на 12 строке - "Доступ получен"

4. Если функция получает false от переменной age, она возвращает confirm. И вот тут я не понял, как результат confirm завязан со строками 11-15? Как "блок" if получает значение от этого confirm, чтобы выдать нужный alert? Ну и вообще, я правильно понял общий принцип работы?

P.S. Такое ощущение что я сам себе слишком усложняю понимание вопроса, ну либо я просто тупой и это действительно тяжело для осознания. Новичок.
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Можно чуть подробнее расписать:
function checkAge(age) {
  var result; // объявили переменную внутри функции
  if (age > 18) {
    result = true;
  } else {
    result = confirm('А родители разрешили?'); // confirm() вернёт true или false
    // в переменной result теперь либо true либо false
  }

  return result; // в любом случае функция вернёт true или false
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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