var a = {
user: "追梦子",
fn: function() {
console.log(this.user);
}
}
a.fn(); //追梦赤子心
b = a.fn;
b();//undefined
修改一下
var a = {
user: "追梦子",
fn: function() {
console.log(this);
}
}
a.fn(); //{user: '追梦子', fn: ƒ}
b = a.fn;
b();//Window
这样修改就对此类型的this有一个更直观的了解。之所以第一个b是undefined,b只指向了对象a的一个函数,没有user这个元素。
而下面的b this是window,b函数的上一层没有其他对象,直接是window,所以直接回指向window。
本文章没有结束,后续遇到this问题笔者会继续更新。把问题消化再呈现出来。2021-11-05