Задать вопрос
ErichAltheim
@ErichAltheim
Программист

Почему выводится undefined в замыкании?

"use strict"

  !function () {
    function lodash() {
      alert("Lodash");
    }

    function set(item) {
      alert(item);
    };

    lodash.set = set();
  }();

lodash.set(150);


Почему выводится undefined при выводе?
  • Вопрос задан
  • 247 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
mbeloshitsky
@mbeloshitsky
Вебдев, систем оперейшонс, ж.д. автоматика
Почему выводится undefined при выводе?

Потому что в строке
lodash.set = set();
Вы присвоили имени lodash.set результат выполнения функции set с пустым аргументом (что эквивалентно вызову set(undefined)), а не саму функцию, как вы, вероятно, хотели.
Ответ написан
evgeniy8705
@evgeniy8705
Повелитель вселенной
Что то я про такую реализацию модуля не слышал.

Вот так будет работать:

(function () {
    function lodash() {
      alert("Lodash");
    }

    function set(item) {
      alert(item);
    };

    lodash.set = set;

    window.lodash = lodash;
  })();

lodash.set(150);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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