Сокрытие переменных из глобальной области видимости в JavaScript
На JavaScript уже давно пишут большие приложения, обслуживающие огромное количество пользователей. И написание таких приложений, конечно не было бы возможным без грамотного разделения различных компонентов, отвечающих за те или иные аспекты приложения.
Но, независимо от того, какие приложения на JavaScript вы пишете, принцип разделения ответственности поможет вам создавать поддерживаемые и хорошо организованные приложения.
Как скрыть переменные из глобальной области видимости в JavaScript?
Для этого можно использовать немедленно вызываемые функции:
var MyModule = (function(){
// объект, в котором содержатся открытые функции и свойства
var PublicInterface = {};
PublicInterface.MODULE_NAME = 'MyModule 1.0';
PublicInterface.AUTHOR = 'Myrusakov LLC';
PublicInterface.CreateConnection = function(dsn) {
console.log('Соединение установлено');
}
// закрытая функция, недоступная извне.
function PrivateFunction() {
console.log('Приватная функция');
}
return PublicInterface;
})()
Вызываеся так:
console.log(MyModule.MODULE_NAME);
console.log(MyModule.AUTHOR);
console.log(MyModule.CreateConnection('params'));
console.log(MyModule.PrivateFunction()); // undefined - эта функция не видна
Таким образом, вы можете скрыть содержимое своего модуля от внешней области видимости, а весь публичный интерфейс, который будет доступен извне, поместить в возвращаемый модулем объект PublicInterface.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.