返回课程

绑定函数作为方法

重要性: 5

输出结果是什么?

function f() {
  alert( this ); // ?
}

let user = {
  g: f.bind(null)
};

user.g();

答案:null

function f() {
  alert( this ); // null
}

let user = {
  g: f.bind(null)
};

user.g();

绑定函数的上下文是固定不变的。无法再进行修改。

因此,即使我们运行 user.g(),原始函数也会使用 this=null 被调用。