JavaScript中函数的调用和this的指向

摘要:普通函数调用 this 指向 window,方法调用 this 指向 调用该方法的对象,作为构造函数的调用 构造函数内部的this指向由该构造函数创建的对象,作为事件的处理函数 触发该事件的对象

1.普通函数调用 this 指向 window

function fn() {
    console.log(this);
}
window.fn();

2.方法调用 this 指向 调用该方法的对象

var obj = {
    fun: function () {
        console.log(this);
    }
}
obj.fun();

3.作为构造函数的调用 构造函数内部的this指向由该构造函数创建的对象

var gf = {
    name : "tangwei",
    bar : "c++",
    sayWhat : function() {
        console.log(this.name + "said:love you forever");
    }
}

4.作为事件的处理函数 触发该事件的对象

btn.onclick = function () {
    console.log(this);
}

5.作为定时器的参数 this 指向 window

setInterval(function() {
    console.log(this);
}, 1000);

总结:函数内部的this,是由函数调用的时候来确定其指向的

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_2451