/*
$(this)是jquery对象,
this就是简单指当前元素
this的指向在函数定义的时候是确认不了的 只有函数执行的时候才能确认this到底指向谁
一般情况下this的最终指向的是调用他的对象
*/
// 1.全局作用域或者普通函数中的this指向全局对象window(定时器也是指向window)
console.log(this); //指向window
setTimeout(function() {
window.console.log(this);
}, 1000) //window
function fn() {
console.log(this);
}
fn();
//因为在全局作用下 会作用window的方法 完整的调用 应该是 window.fn() 这样
// 所以是window 调用了fn() 这个方法
// 方法中调用中谁调用this 指向谁
//声明一个对象a 因为
var a = {
say: function() {
console.log(this); //this 指向的是a 花括号里面是对象里面是say
}
}
a.say(); //是a调用这个say() 指向的是a
var btn = document.querySelector('button');
// btn.addEventListener('click', function() {
// console.log(this);
// }) //指向button按钮
btn.onclick = function() {
console.log(this);
} //指向button按钮
// 3构造函数中this指向问题的实例
function fn1() {
console.log(this);
}
var set = new fn1();
//这个this 指向实例对象 就是set