1: 先看 this 在哪个做作用域中?
全局—> this = window
function 函数体中。
2:看函数执行。
2.0: 判断哪一个函数被执行?再看方法体中 this 指向谁?
2.1 看是否有call apply bind ,有—> 参一是谁 this 就指向谁
2.2 看是否是事件处理函数; 是----> 触发事件元素
2.3 调用函数是否是new 是构造函数,this 指向new 实例的对象
2.4 以上都不满足。谁调用指向谁。
*/
var name = “周超”;
var obj = {
name: “余非”,
cname: this.name,
say: function () {
console.log(${this.name}说“哇塞王则新好帅啊!!!”
);
},
};
// 1:this 指向 2:用的倒是哪一个变量的值
// console.log(obj);
obj.say();
var say = obj.say;
say();
var wzx = {
name: “王泽鑫”,
say: function () {
console.log(${this.name}说:顾坤你真丑,你看我多帅
);
},
};
// 获取wzx 下say 方法 并由 call 触发 --> say 中this 指向谁, obj
wzx.say.call(obj);
wzx.say.apply(this);