this 指向问题
一般情况下this的最终指向的是那个调用它的对象
1.全局作用域或者普通函数中this指向全局对象window (注意定时器里面的this指向window)
console.log(this);
function fn() {
console.log(this);
}
/* window. */ fn();
/* window. */ setTimeout(function () {
console.log(this);
});
console.log(
"华丽的分割线----------------------------------------------------------"
);
2.方法调用中谁调用this指向谁
var o = {
name: "zz",
sayHi: function () {
console.log(this); // 指向 o 这个对象
},
};
o.sayHi();
var btn = document.querySelector("button");
// btn.onclick = function () {
// console.log(this); // 指向btn
// };
btn.addEventListener("click", function () {
console.log(this); // 指向btn
});
3.构造函数中this指向构造函数的实例
function Fun() {
console.log(this); // 指向 fun 这个实例对象
}
var fun = new Fun();