App이라고하는 메인 함수를 작성하려고합니다. 아래에는 공개 및 비공개 기능이 있습니다. 아래의 코드를 참조하십시오. 모듈 식으로 작성하고 싶습니다.Jquery 모듈 형 함수 작성
문제는 내가 공공 기능에 일부 개인 기능을 매핑 할 그리고 난 그렇게 할 수없는 생각이다. 예를 들어
;
_A()
개인 기능을 호출해야하며 App.ModuleA.fun_1
과 같은 공용 기능에 대한 액세스 권한을 부여 받으려면 App.ModuleA
으로 전화를 걸고 싶습니다.
; _A()를 공개해야합니다. 하지만 기능을 매핑 할 수 있습니까?
어떻게 같은 매핑을 달성 할 수 있습니까? 어느 누구도 더 나은 코딩 구조를 제안 할 수 있습니까? 그렇다면 앱 내의 서브 함수와 퍼블릭 함수에 액세스 할 수 있습니까? 당신의 예에서
return _A();
// change to:
return _A;
:
var _A = function() {
//...
}();
// change to:
var _A = function() {
//...
};
또는 : 나는 당신이 두 가지 변화 중 하나를 만들 필요가 App.ModulaA();
var App = function() {
// App Private Functions
var _A = function() {
return {
fun_1: function() {
alert("_A.fun_1");
},
fun2: function() {
alert("_A.fun2");
}
};
}();
// App Public Functions
return {
init: function() {
alert("App.init");
},
ModulaA: function() {
return _A(); // doesnot work
// return this._A(); // doesnot work
}
};
}();
App.ModulaA();
당신이 설명 할 수 동작에서 볼되지 않은''}()'''이 목적? 자기 호출이 의미하는 것은 무엇입니까? 앱 정의에서 유용하지만 하위 함수 _a에서는 유용하지 않습니다. – django
그 대괄호는 기능을 즉시 실행하여 DRY가이 [link] (http://peter.michaux.ca/articles/an-important-pair-of-parens)를 참조하여 설명을 유지하도록합니다. – Max