4
어떻게 내가이에서 갈 수있는 생성자 내부에서 자신을 전달할 수 있습니다 이것에자바 스크립트는
var abc = (function(){
..
})();
register(abc); // outside the protected class
을 (클래스 외부 레지스터를 호출 whithout) :
function register(object){ stores the object }
var abc = (function(){
..
register(this); // inside the protected class
})();
일부 배경.
마스터 클래스에는 'register'기능이 플러그인을 배치하는 플러그인 객체 배열이 있습니다. abc는 그러한 플러그인이 될 것입니다. 모듈 patern 클로저를 따르는 플러그인. 나는 목록에 플러그인 인스턴스를 배치하고 가능한 한 자체 포함 된 플러그인이되고 싶습니다. 플러그인 외부의 추가 기능을 제거하고 싶습니다.
내가 생각한 : MasterClass.plugins.abc = (function ..) 그러나 이것은 어떤 플러그인이로드되기 전에 인스턴스화 될 MasterClass.plugins에 대한 종속성을 생성한다고 생각합니다.
이 외모 : 귀하의 경우
어색한. abc와 레지스터 사이의 연결을 줄이려면 최소한 등록 함수를 생성자에 전달해야합니다 ("injection"이라고 생각하십시오). – Makkes
오른쪽 수식의 계산이 완료 될 때까지 할당이 수행되지 않으므로 IIFE * abc * 내부의 아무 곳이나 정의되지 않습니다. – RobG
아마도 당신이 원하는 것에 대해 더 설명 할 수 있을까요? –