아래에 표시된 것처럼 모듈 패턴을 사용하여 자바 스크립트를 사용하고 있습니다. 그것은 나중에 호출하는 콜백 함수를 받아들입니다. 그 콜백 함수가 클래스에 정의 된 함수를 호출 할 수있게하려고하지만 작동하지 않습니다.Revealing Module Pattern 인스턴스를 콜백 함수에 전달할 수 있습니까?
window.MyClass = function() {
var self = this,
start = function (callback) {
callback(self);
},
cancel = function() {
console.log('Cancel invoked');
};
return {
start: start,
cancel: cancel
};
};
var myCallbackFunction = function(instance) {
instance.cancel(); // Error: instance.cancel is not a function
};
var obj = new window.MyClass();
obj.start(myCallbackFunction);
나는 밝히려 프로토 타입 패턴에이 샘플을 재 작업 할 수 있으며 예상대로, 그래서 내 질문에 나는이 패턴의 단지 제한이 RMP를 사용하여 작업, 또는이다 얻을 수있다 작품?
감사합니다, 로저
감사! 나는 그것이 가능하다는 것을 이해했다 - 나는 지금 막 구문을 파악하고 있지 않았다. – Roger
첫 번째 예는 오해의 소지가 있습니다. 이유는 제 대답에 설명되어 있습니다. 당신은'MyClass'의 실제 인스턴스를 전혀 얻지 못하고 있습니다. 그러나이 예에서도 중요하지 않습니다. 그러나 이해해야 할 중요한 세부 사항입니다. –