Привет. Разбираюсь с паттерном "Модуль" и тем как писать свои библиотеки. Не могу понять, почему созданный модулем объект не видит глобальный. Вот примерно так я создаю модули:
(function() {
function Obj(a, b) {
// здесь что-нибудь
}
Obj.prototype.makeSomething = function() {
console.log(Lib);
}
function Lib() {
// и здесь что-нибудь
}
Lib.prototype.makeObj = function() {
return new Obj();
}
window.Lib = new Lib();
}());
Затем, с помощью уже глобального объекта Lib я создаю объекты класса Obj с помощью метода
make. Теперь я хочу использовать метод
makeSomething созданного объекта в котором я хочу использовать какой-нибудь метод объекта Lib. Но метод
"makeSomething" не видит Lib, он выведет не объект а исходный код, вот так:
function Lib() {
}
Подскажите в чём ошибка и как правильно писать библиотеки так, чтобы можно было создавать с их помощью объекты и пользоваться методами этих библиотек? Разбирался с замыканиями но видимо ничего не понял...