我已经使用'函数'技术创建了一个简单的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