Function.prototype.andThen=function(g) {
var f=this;
return function() {
f();
g();
}
};
function person() {
this.name = "aaa";
this.callBack = function(){}
this.registerFcuntion = function(callBack) {
this.callBack = (this.callBack).andThen(callBack);
}
}
var p = new person();
p.registerFcuntion(function(){alert(22);});
p.callBack();
以下这几行代码是我不太明白的地方 请指点 越详细越好
var f=this;
return function() {
f(); //什么意思?
g(); //什么意思?
}
配合这段来看
this.callBack = function(){} //当前的回调
this.registerFcuntion = function(callBack) { //注册新的回调
this.callBack = (this.callBack).andThen(callBack);
(this.callBack).andThen(callBack); 调用如下
Function.prototype.andThen=function(g) {
var f=this; //this表示当前对象 当前对象是(this.callBack) 所以f是上一个回调
return function() {
f();
g();
}
};
因此功能就是:
注册新回调时 把以前的放在前面 形成链
如果我没猜错的话:传入的g是个函数名,然后调用。。。