Я читал о поддержке частного состояния в javascript для файлов, имеющих один и тот же модуль.
Скажем, у нас есть файл1:
var Module = (function(){
//Some private variables declared.
// and initialized.
})();
и у нас есть файл2:
var Module = (function(myModule){
//Here the same private variables are required.
// And the following implementation enables it.
var _private = myModule._private = myModule._private || {},
_seal = myModule._seal = myModule._seal || function () {
delete myModule._private;
delete myModule._seal;
delete myModule._unseal;
},
_unseal = myModule._unseal = myModule._unseal || function () {
myModule._private = _private;
myModule._seal = _seal;
myModule._unseal = _unseal;
};
return myModule;
}(Module || {}));
Часть, которую я не мог понять, была var _private = myModule._private = myModule._private || {},
Я думал, var _private = myModule._private || {}
сделает то же самое.Почему это делается так, как указано выше?И, кроме того, deleting myModule._private, myModule._seal and myModule._unseal
не сделает его недоступным для дальнейшего использования?Но в статье говорится, что он запечатывает и распечатывает приватные переменные для использования в других файлах, поддерживая приватное состояние модуля.Любые намеки или идеи относительно этого шаблона?
Статья, на которую я ссылался, это this