Дорогие друзья.
Хочется передать в качестве параметра конструктора объекта метод другого объекта, чтобы была возможность вызова этого метода позже, но в контексте объекта-хозяина метода. Как это можно проще сделать? Пока что придумал только регистрацию b в глобальном неймспейсе и вызова его через eval... можно ли как-то изящнее это решить?
Зараннее спасибо.
A = function(_callback) {
this.m_callback = _callback;
this.m_val = "a";
this.callCallback = function() {
this.m_callback();
}
}
B = function() {
this.m_val = "b";
this.showMyVal = function() {
alert(this.m_val);
}
}
b = new B();
a = new A(b.showMyVal);
a.callCallback(); // показывает "a", то есть вызывается в конексте a. Хочется чтобы вызывался в конексте b.