우리가 증강 모듈 패턴의 예를 아래에 JavaScript.Taking에서 세부 정보를 덮어 코드 위자바 스크립트 증강 모듈 패턴 var에 이름을 반복
<script>
var Module = (function() {
// Module object
var module = {},
privateVariable = "Hello World";
function privateMethod() {
// ...
}
module.publicProperty = "Foobar";
module.publicMethod = function() {
//console.log(privateVariable);
return privateVariable;
};
return module;
})();
//Defining same name MODULE var again
var Module = (function (my) {
var newvar = 999;
my.anotherMethod = function() {
return newvar;
};
return my;
}(Module));
alert(Module.publicMethod());
//How this upper MODULE property is accessible ? Should be hide by
//next same name MODULE var?**
alert(Module.anotherMethod());
</script>
가 완벽하게 정상적으로 실행 및 모듈에서 한 번 더 anotherMethod를 추가하지 않고 var에 이름을 다시 할 수 있지만, 어떻게 초기 모듈 속성에 접근하고 있는가. 동일한 이름 (MODULE)을 가진 var를 정의하는 것은 상위 모듈을 덮어 쓰지 (제거) 않는다.
무엇이 당신의 질문입니까? – Mathletics
(코드 편집) 다른 함수 객체로 MODULE을 재 할당하는 경우 이전 모듈을 덮어 쓰지 않고 기존 MODULE에 추가하는 방법이 일부 JavaScript 언어 기능입니까? – user3236118