После некоторого чтения о шаблоне модуля я видел несколько способов вернуть свойства, которые вы хотите публиковать.
Один из наиболее распространенных способов - объявить свои общедоступные свойства и методы прямо внутри оператора 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;
})();
Есть ли какие-либо плюсы и минусы для использования метода выше? Как насчет других?