我已經使用'函數'技術創建了一個簡單的JavaScript類。 在這個類中,我有一個websocket監聽器,它在接收到某個消息時觸發一個函數。 我可以很容易地添加外部回調,如下所示如何將多個回調添加到JavaScript方法?
function MyClass() {
self = this; // to access main object from methods
// websocket definition
function websocketMessageInterpreter(message){
if(message == "Hello!") onHelloMessageBase();
}
function onHelloMessageBase(param){
// call user defined callback
self.userDefinedCallback(param);
}
this.userDefinedCallback= function(param){}; //default empty callback
}
對外我用這個作爲
var myObject = new MyClass();
myObject.userDefinedCallback = function(){alert("Someone said hello!");};
是否有一種模式,我可以做這樣的事情?
myObject.userDefinedCallback += function1;
myObject.userDefinedCallback += function2;
,也許以後
myObject.userDefinedCallback -= function1;
你可以在回調中編寫[嵌套函數](http://stackoverflow.com/questions/7295634/javascript-nested-function) – Johnny000