Module pattern Как работает этот паттерн?
Как работает этот паттерн "Модуль"?
и чем это:
var module = (function() {
return {
method: function() {}
};
})();
отличается от этого:
var module = {
method: function() {}
}
Только тем что в первом случае можно приватные переменные делать? Как бы область видимости модуля? |
Кстати да, в JSDoc это работает так:
/**
* @type module
*/
var module = (function(){
return {
/**
* @memberOf module
*/
method : function(){
}
};
})();
|
Угу
иногда для облегчения отладки и тестирования, чтобы не разгребать ананонимные функции в профайлере, создают функции с помощью function declaration
var module = function () {
return {
method1: method1,
method2: method2,
method3: method3
};
function method1() {}
function method2() {}
function method3() {}
}();
Хотя сейчас вроде браузеры displayName стали поддерживать |
| Часовой пояс GMT +3, время: 19:09. |