Проблема с Javascript-прокси - PullRequest
1 голос
/ 16 июля 2009

У меня что-то подобное:

// 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 Ответ

2 голосов
/ 16 июля 2009
jQuery.extend(Foo.prototype, proxied.prototype);

Или даже:

Foo.prototype = proxied.prototype;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...