绑定函数作为方法
重要性: 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
被调用。