绑定对象内部的方法。给出意想不到的结果

Bind on method inside object. Gives unexpected results

我试图像这样在 node.js 中的 JavaScript 对象中调用绑定。

var obj = {
  m: function () {
    console.log(this)
  }.bind(obj),
}

当我调用 obj.m() 时,我期望函数 m 中的 thisobj。但是全局对象正在打印。

谁能解释为什么会这样。

对象字面量必须 完全 评估后才能分配给 obj

当你调用bind(obj)时,obj的值仍然是undefined

因此,绑定了全局对象。