我正在尝试bind
(即bind(this)
)object
的内联匿名回调函数
怎么办呢?
简化示例:
var object = {
property: function() {
this.id = 'abc'; // 'this' binds to the object
aFunctionWithCallback(this.id, function(data) {
console.log(this); // null
});
}
};
答案 0 :(得分:27)
与您始终使用bind
的方式相同。
获取对函数的引用(例如函数表达式返回),并在其上调用bind
方法。
aFunctionWithCallback(this.id, function(data) {
console.log(this);
}.bind(this));