如何在obj的处理函数中获取变量?没有引用MyClass中的obj。
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 中的中断覆盖。