좋아요, "Revealing Module Pattern"에서 설정 한 웹 앱 (Javascript)이 있고 똑같은 데이터를 사용하는 두 개의 모듈이 있다고 가정 해 봅시다.모듈에서 변수를 다시 선언하거나 별도의 모듈에서 참조하는 것이 더 좋습니까?
예 :
(.이 두 가지 기능은 별도의 모듈에 있어야 할 이유가 척 수 있습니다 그냥 예를 들어 결국입니다)
var modOne = (function() {
var foos = document.getElementsByClassName("foo");
var hideFoos function() {
var i;
for (i=0; i < foos.length ; i++) {
foos[i].style.visibility = "hidden";
}
}
return {
hideFoos: hideFoos
};
})();
var modTwo = (function() {
var foos = document.getElementsByClassName("foo");
var showFoos function() {
var i;
for (i=0; i < foos.length ; i++) {
foos[i].style.visibility = "visible";
}
}
return {
showFoos: showFoos
};
})();
당신이 동일한 변수를 볼 수 있듯이 (var foos
)는 각 모듈에서 선언됩니다. 이것은 중복 된 것처럼 보이지만 다른 변수에서 변수를 참조하면 한 모듈이 다른 변수에 의존하게됩니다. 그래서 당신도 그들을 결합 할 수 있습니다. 세 번째 옵션은 공유 변수를 글로벌 변수로 생성하는 것입니다.이 변수는 모듈을 갖는 목적을 상실합니다.
그래서이 세 가지 옵션에 따라 각 모듈에서 변수를 따로 정의하는 것이 최선의 선택이라고 말할 수 있습니다.
이 정보가 맞습니까?
'showFoos' 함수를 모듈 자체에서 만들고'modOne' 및'modTwo' 함수에서'shoFoos'를 상속합니다. 'showFoos' 함수 정의 옆에 구문 오류가 있습니다. 'showFoos' 다음에'= '기호가 있어야합니다. – 0xcaff
필자는 모듈을 특정 요소로부터 분리해야한다고 생각합니다. – Todd