this指向问题

/*
$(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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容