동일한 모듈을 가진 파일에서 javascript의 개인 상태 유지 관리에 대해 읽었습니다.개인 상태 유지
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 || {}
생각 var _private = myModule._private = myModule._private || {},
이었다 이해할 수 없었다
우리가 FILE1이 말 . 왜 위에서 언급 한 방식으로 끝났습니까? 또한 더 이상 사용하지 않으려면deleting myModule._private, myModule._seal and myModule._unseal
을 사용하지 않으시겠습니까? 그러나이 기사에서는 모듈의 개인 상태를 유지함으로써 다른 파일에서 사용할 개인 변수를 봉인하고 봉인 해제한다고 말합니다. 이 패턴과 관련된 힌트 또는 통찰력? 내가 언급 한
기사가 시작되는 시점에 this
두 번째 스 니펫은 아무 것도 반환하지 않습니다. 왜'Module'을'undefined'로 겹쳐 쓰는지 모르겠습니다. – pimvdb
@pimvdb : 저의 실수입니다. myModule – Ajai