我有一些JavaScript使用揭示模塊模式,如下所示。它接受稍後調用的回調函數。我希望該回調函數能夠調用該類中定義的函數,但它不起作用。是否可以將Revealing模塊模式實例傳遞給回調函數?
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實例。但在這個例子中,也沒有關係。但這是一個很重要的細節。 –