Задать вопрос

Почему return не возвращает числовое значение?

В примере ниже пытаюсь вернуть значение errors, которое должно быть 3 при выборе в выпадающем списке значения 1. Но этого не происходит, помогите, пожалуйста разобраться почему так.

  • Вопрос задан
  • 119 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
На примере этого участка:
select.addEventListener('change', function () {  
  formValidation(form);
  console.log(errors);
  ine.innerHTML = errors;
});

Так Вы никуда значение и не присваиваете, которое возвращает функция formValidation.
console.log(errors) - errors не существует в данной области видимости. Функции возвращают значение, которое хранится в переменной, а не переменную с её названием в область видимости, где функция была вызвана.

Таким образом:
select.addEventListener('change', function () {  
  const errors = formValidation(form);
  console.log(errors);
  ine.innerHTML = errors;
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Возвращать то вы его возвращаете, вот только результат функции ничему не присваивается и, соответственно, не используется. Переменная errors живёт исключительно внутри formValidation.
Ответ написан
Комментировать
scottparker
@scottparker
а почему let объявленный внутри функции должен быть доступен из вне?
Ответ написан
Ваш ответ на вопрос

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

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