2014-01-13 1 views
1

Я пытаюсь проксировать объект Javascript, в котором я мог бы перенаправить любой вызов этого объекта на конкретный метод, например, это значение.Как поймать или перехватить любой вызов объекта в javascript

var A = {} 
A.prototype.proxy = function() { 
//do... 
} 
b = new A(); 
b.myMethod(); // --> Internally will call A.proxy()? 

then, я перенаправляю все вызовы A.proxy(), это возможно в JavaScript?

+1

Да, но тогда вам, скорее всего, придется писать прокси для всех методов, которые вы хотите контролировать/подключить. – techfoobar

ответ

-1

Нет, это не так. У основного языка JS такой функции нет.

+0

Ну, после глубоких исследований есть и функция, которую Moz реализовал и является целью для прокси-сервера ECMA-6 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy – Agus

+0

После глубоких исследований вы нашли и экспериментальное будущее, которое поддерживается только в firefox, но, похоже, вы не понимаете вопроса. Как говорится в документации: «Прокси - это новые объекты, невозможно« проксифировать »существующий объект». и возникает вопрос, можно ли напрямую вызвать любую функцию на существующий объект. Так что строгий ответ на этот вопрос - нет. – spectre