[js]this关键字代表当前执行的主体

Posted 毛台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[js]this关键字代表当前执行的主体相关的知识,希望对你有一定的参考价值。

点前是谁,this就是谁

<div id="div1" class="div1"></div>
<div id="div2" class="div2"></div>
<script>
/*
this代表当前执行函数的主体.js中context代表当前执行函数的环境

- 1,和在哪定义的没关系
- 2,和执行环境没关系
- 3,仅和谁在执行(执行主体)有关系

*/

    // 1. 如果函数前没. 则,this是window
    function fn() {
        console.log(this);
    }
    obj = {fn: fn};
    fn();    // this->window
    obj.fn(); // this->obj

    // 2.自执行函数(前面不可能有点)里的this永远是window

    // 3.给元素绑定方法,点击时候触发事件,事件中的this代表当前元素
    document.getElementById("div1").onclick=fn;
    document.getElementById("div2").onclick=function () { fn() };
</script>

以上是关于[js]this关键字代表当前执行的主体的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript彻底明白this在函数中的指向

JS中级

js作用域与上下文

js this

JS之this关键字

this是什么!