После прочтения шаблона модуля я увидел несколько способов вернуть свойства, которые вы хотите сделать общедоступными.
Одним из наиболее распространенных способов является объявление ваших общедоступных свойств и методов прямо внутри оператора return, кроме ваших личных свойств и методов. Аналогичный способ (шаблон «выявление») - просто предоставить ссылки на свойства и методы, которые вы хотите сделать общедоступными. Наконец, третий метод, который я видел, заключался в создании нового объекта внутри функции вашего модуля, которому вы назначаете свои новые свойства перед возвратом указанного объекта. Это была интересная идея, но требует создания нового объекта.
Итак, я подумал, почему бы просто не использовать this.propertyName
для назначения ваших общедоступных свойств и методов и, наконец, использовать return this
в конце? Этот способ кажется мне намного проще, поскольку вы можете создавать частные свойства и методы с обычным синтаксисом var
или function
или использовать синтаксис this.propertyName
для объявления ваших открытых методов.
Вот метод, который я предлагаю:
(function() {
var privateMethod = function () {
alert('This is a private method.');
}
this.publicMethod = function () {
alert('This is a public method.');
}
return this;
})();
Есть ли плюсы / минусы использования вышеописанного метода? А как насчет других?