prototype.js代码:
Function.prototype.bind = function() {
var __method = this, args = $A(arguments), object = args.shift();
return function() {
return __method.apply(object, args.concat($A(arguments)));
}
}
Function.prototype.bindAsEventListener = function(object) {
var __method = this;
return function(event) {
return __method.call(object, event || window.event);
}
}
实例代码:
function class(aa){
this.aa = aa;
}
class.prototype.show = function(arg1,arg2){}
class.prototype.close = function(){}
bind可以绑定多个参数
Event.observe(menuItem,this.eventType,this.show.bind(this,arg1,arg2))
bindAsEventListener只可以绑定一个this参数
Event.observe(menuItem,this.eventType,this.show.bindAsEventListener(this))