如何绑定内联匿名函数?

时间:2014-06-28 14:21:52

标签: javascript

我正在尝试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
    });
  }
};

1 个答案:

答案 0 :(得分:27)

与您始终使用bind的方式相同。

获取对函数的引用(例如函数表达式返回),并在其上调用bind方法。

aFunctionWithCallback(this.id, function(data) {
  console.log(this);
}.bind(this));