我在尝试着bind
(ie bind(this)
) 内联匿名回调函数object
如何做呢?
简化示例:
var object = {
property: function() {
this.id = 'abc'; // 'this' binds to the object
aFunctionWithCallback(this.id, function(data) {
console.log(this); // null
});
}
};
与您一贯使用的方式相同bind
.
获取对函数的引用(例如函数表达式返回的引用),并调用bind
方法就可以了。
aFunctionWithCallback(this.id, function(data) {
console.log(this);
}.bind(this));
自从写完这个答案以来,JS 添加了一个新功能:箭头函数 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions.
他们绑定this
词法上而不是根据函数的调用方式确定其值,因此您可以简单地将一个值放入此代码中:
aFunctionWithCallback(this.id, (data) => {
console.log(this);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)