オブザーバー/リスナー システムをセットアップしたい:
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);
コメントされた 2 行についてのご意見 (実際に期待どおりに機能するかどうか) と、メソッドを呼び出してオブジェクトに通知するより簡単な方法があるかどうかを期待していました。(たとえば、一部の実装では、この方法ではなく、関数への参照ではなく文字列として関数名を渡すことに気付きました。)
ありがとう