我对以下脚本在Chrome的js控制台中执行时的行为感到惊讶:
var me = { name: 'John'};
function theFunc(){
console.log(this);
}
theFunc.bind(me);
theFunc();//this is window???
我期待绑定函数调用绑定到对象文字...
最佳答案
.bind()
返回一个新函数,然后必须将其设置为要保存的变量。
请参见MDN。
var me = { name: 'John'};
function theFunc(){
console.log(this);
}
theFunc = theFunc.bind(me);
theFunc();