Change this point
var obj1 = {
name: "胖贼"
};
var obj2 = {
name: "唐"
};
window.name = "window";
var getName = function() {
alert(this.name);
};
getName(); // window
getName.call(obj1); // 胖贼
getName.call(obj2); // 唐
当执行 getName.call(obj1) 这句代码时, getName 函数体内的 this 就指向 obj1 对象 , 所以此处的
var getName = function() {
alert(this.name);
};
实际上相当于:
var getName = function() {
alert(obj1.name); // 胖贼
};
复制代码
Reproduced in: https: //juejin.im/post/5d07506551882502ec1a7856