1.代码
var a = 10;
let obj = {
a: 20,
n: function () {
console.log(this.a);
},
};
let fn = obj.n;
fn(); //此时的this指向window
obj.n(); //this指向obj这个对象
2.打印的结果
3.代码分析
let fn = obj.n;将函数体复制给fn
fn()是普通函数this指向window
obj.fn里面的函数,可以理解成从obj的fn里面拿出来调用,所以执行obj这个对象。