Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Module pattern Как работает этот паттерн? (https://javascript.ru/forum/misc/24754-module-pattern-kak-rabotaet-ehtot-pattern.html)

Livaanderiamarum 13.01.2012 01:04

Module pattern Как работает этот паттерн?
 
Как работает этот паттерн "Модуль"?
и чем это:
var module = (function() {
return {
method: function() {}
};
})();


отличается от этого:
var module = {
method: function() {}
}


Только тем что в первом случае можно приватные переменные делать?
Как бы область видимости модуля?

Livaanderiamarum 13.01.2012 01:13

Кстати да, в JSDoc это работает так:

/**
 * @type module
 */
var module = (function(){
	return {
		/**
		 * @memberOf module
		 */
		method : function(){
		}
	};
})();

Octane 13.01.2012 01:20

Угу

иногда для облегчения отладки и тестирования, чтобы не разгребать ананонимные функции в профайлере, создают функции с помощью function declaration
var module = function () {

	return {
		method1: method1,
		method2: method2,
		method3: method3
	};

	function method1() {}
	function method2() {}
	function method3() {}

}();


Хотя сейчас вроде браузеры displayName стали поддерживать


Часовой пояс GMT +3, время: 02:22.