绑定对象内部的方法。给出意想不到的结果
Bind on method inside object. Gives unexpected results
我试图像这样在 node.js 中的 JavaScript 对象中调用绑定。
var obj = {
m: function () {
console.log(this)
}.bind(obj),
}
当我调用 obj.m()
时,我期望函数 m
中的 this
为 obj
。但是全局对象正在打印。
谁能解释为什么会这样。
对象字面量必须 完全 评估后才能分配给 obj
。
当你调用bind(obj)
时,obj
的值仍然是undefined
。
因此,绑定了全局对象。
我试图像这样在 node.js 中的 JavaScript 对象中调用绑定。
var obj = {
m: function () {
console.log(this)
}.bind(obj),
}
当我调用 obj.m()
时,我期望函数 m
中的 this
为 obj
。但是全局对象正在打印。
谁能解释为什么会这样。
对象字面量必须 完全 评估后才能分配给 obj
。
当你调用bind(obj)
时,obj
的值仍然是undefined
。
因此,绑定了全局对象。