@Spiriiit

Как «извне» определить вызов другой функции?

Всем привет!
Такая ситуация, допустим есть функция, внести изменения в которую физически нет возможности:
function go(loc, ev, opts){
/* go .....*/
}

Можно как-то повесить событие, которое отслеживало бы каждый вызов этой функции и получало б ее параметры ( значение loc, ev, opts)?

P.s. К слову, можно с помощью jQuery
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
mannaro
@mannaro Куратор тега JavaScript
Умею профессионально гуглить
Попробуйте написать обертку:
var go = function(arg) {
  alert('Hello, ' + arg);
};

var users = [];

var _go = go;
go = function(arg) {
  users.push(arg);
  return _go(arg);
};

go('WolF');
go('Alex');
go('John');

alert(users.join(' | '));
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
smanioso
@smanioso
Отмечайте ответы на свои вопросы!
Еще можно сделать так:
window._go = go;
go = function() {
  console.log('go wrapper');
  return _go();
}
Ответ написан
Комментировать
@KuzmenkoArtem
а вызывать из своего кода Вы ее можете?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы