Как я могу получить переменную в обработчике функции obj? Без ссылки на objв MyClass.
var obj = {
func: function(){
var myClass = new MyClass();
myClass.handler = this.handler;
myClass.play();
},
handler: function(){
//Here i don't have access to obj
console.log(this); //MyClass
console.log(this.variable); //undefined
},
variable:true
};
function MyClass(){
this.play = function(){
this.handler();
};
this.handler = function(){};
};
obj.func();
Вот вам и нужна конструкция, если вы используете Base.js или другой подобный способ oop.
_.bindAll(obj) (метод подчеркивания) тоже не подходит. Переопределение перерыва в Base.js.