Javascript代理模式问题

时间:2009-07-16 11:17:03

标签: javascript jquery

我有类似的东西:

// original function
Foo = function(params) {
  do foo...
}
Foo.prototype.alert = function() {
  alert('foo');
}

现在我想干涉:

Bar = Foo;
Foo = function(params) {
  do bar...
  return Foo(params);
}

或JQuery方式:

(function() {
  var proxied = Foo;
  Foo = function() {
    do bar...
    return proxied.apply(this, arguments);
  };
})(); 

现在的问题是Foo缺少所有的原型方法。知道我怎么能做这个工作吗?

1 个答案:

答案 0 :(得分:2)

jQuery.extend(Foo.prototype, proxied.prototype);

甚至:

Foo.prototype = proxied.prototype;