我想重写我的对象上的jQuery的hide()
函数。我希望它调用我的onHide()
函数,然后调用原始hide()
。如何用JavaScript中的可变参数数量覆盖函数?
如何做到这一点?
最简单的代码将不会传递参数我想:
myobject.oldhide = myobject.hide;
myobject.onHide = function() {
// something
};
myobject.hide = function() {
this.onHide();
this.oldhide();
}
jQuery的hide()
接受了3个参数。我可以只定义其中3个吗?
myobject.oldhide = myobject.hide;
myobject.onHide = function() {
// something
};
myobject.hide = function(a,b,c) {
this.onHide();
this.oldhide(a,b,c);
}
'this.oldhide.apply(this,arguments)'不会与'this.oldhide(arguments)'相同吗? – Dims 2012-02-01 20:23:54
@Dims,no。第二,'arguments'作为jQuery'hide'的第一个('duration')参数传递。 – 2012-02-01 20:31:00
啊,明白了,谢谢!在一般的问题中,除了将其保存在临时变量中之外,没有其他方法可以调用旧版本的函数了吗? – Dims 2012-02-01 20:38:42