Как “прослушать” вызов метода объекта?

146
23 января 2019, 04:10

Допустим у меня есть :

var Obj = {
 p : 23,
 method : function(){
  console.log( this.p++);
 }
}

Как можно сделать так, чтобы после выполнения или при вызове этого метода( Obj.method() )вызывались определенные функции(с возможностью их открепления/приклепления)? т.е. как у объектов dom

Answer 1

Можно

var Obj = { 
  p: 23, 
  methodLog: [], 
  method: function() { 
    for (i = 0; i < this.methodLog.length; i++) 
      this.methodLog[i].call(this); 
    console.log(this.p++); 
  } 
}; 
 
Obj.methodLog.push(function() { 
  console.log('alerter1') 
}); 
Obj.methodLog.push(function() { 
  console.log('alerter2. p = ' + this.p) 
}); 
 
Obj.method();

READ ALSO
Проблема при замене текста при нажатии на кнопку,

Проблема при замене текста при нажатии на кнопку,

Столкнулся с проблемой, нажатие на кнопку затрагивает не только текст но и внутренние тэгиПодскажите как исправить

169
Изменение значения переменной внутри MongoClient.connect

Изменение значения переменной внутри MongoClient.connect

У меня имеется ф-я collections, которая подключается к mongodb и подтягивает имена всех коллекций

151
Восстановление таблицы в базе InnoDB MySQL 5.6

Восстановление таблицы в базе InnoDB MySQL 5.6

В результате отключение электричества, на локальном сервере под OpenServer слетела таблица в базе данных, не могу понять как ее восстановитьВ...

165