Я использую небольшой самодельный фреймворк, чтобы легко использовать наследование прототипов, и в этом фреймворке у меня примерно такой же кусок кода. Я думаю, что без этого не обойтись.
Теперь вопрос: почему бы не сделать это? Как вы думаете, это плохая практика и почему?
Часть кода, который я использую:
function getCallback(obj, methodName) {
var method = obj[methodName];
function callback() {
if (obj[methodName] === callback) {
return method.apply(obj, arguments);
}
return obj[methodName].apply(obj, arguments);
}
return callback;
}