★★★★帮忙解释下这几行话是什么意思?★★★★
这是继承jquery的插件,想问的问题在我注释的地方
PPP.ADD= PPP.ADD|| ((function() {
var Xyz= function() {
this.Init();
}
Xyz.prototype = {
fns: [],
Init: function() {
this.fns = [];
},
One: function(fn, self) {
this.Add((function() {
fn.apply(self, arguments);
this.Remove(fn);
}).bind(this));//这个.bind(this)是什么意思
},
Remove: M(function() {//这个M是什么?是函数名吗?为什么这个函数M()里面,有两个函数,分别是function()和function(fn)啊,这么写什么意思??
this.fns = [];
}, function(fn) {
for (var i = 0; i < this.fns.length; i++) {
if (this.fns[i][0] === fn) {
this.fns.Remove(i);
return;
}
}
}),
Call: function() { //执行委托方法
var result;
for (var i = 0; i < this.fns.length; i++) {
var ret = this.fns[i][0].apply(this.fns[i][1], arguments);
result = ret == undefined ? result : ret;
}
return result;
}
};
return Xyz;
})());//这里用个()这么写什么意思?这整个function外面整个的用一个()括起来又是什么意思?