我相信这是个问题。
我有一些对象:
(function(){
var call_new_function = function(){
// do some stuff: but this is function is undefined when called from callback
}
var someObject = new Thing();
$(some_ele).click(function(){
var _this = this;
someObject.doSomething({
// some values are set up
},
callback: call_new_function.call(_this) <-- this throws an error of undefined
)
});
})
我的感觉超出了范围:call_new_function。这是一个关闭问题吗?
答案 0 :(得分:2)
我认为你没有为callback
提供功能。您正在立即执行您的函数并将其值返回callback
。
您可能想要做的是在回调时执行call_new_function.call(_this);
。所以,将它包装在一个匿名函数中,如下所示:
callback: function() {
call_new_function.call(_this);
}