我想建立一個觀察者/接收器系統:的Javascript動態方法調用
var listeners = [];
function MyObj(){
this.myMethod = function(){
// react to event
}
}
var myObj = new MyObj();
function addListener(fn, obj){
alliancesNotify[alliancesNotify.length] = {fn: fn, obj: obj}
}
addListener(myObj, myObj.myMethod); // Best way of doing it?
function notify(objArr){
for (var i in objArr){
objArr[i].obj.fn(); // will this work?
}
}
notify(listeners);
我希望爲您的想法上的兩個註釋行,(如果它會實際工作爲expceted),如果有也許是通過調用其方法來通知對象的更直接的方式。 (例如,我注意到一些實現傳遞函數名稱作爲字符串而不是函數的引用,而不是這樣的。)
感謝