[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代表当前元素: 参考: http://www.cnblogs.com/iiiiiher/p/8417403.html
    document.getElementById("div1").onclick=fn;
    document.getElementById("div2").onclick=function () { fn() };
</script>
posted @ 2018-02-05 12:30  mmaotai  阅读(123)  评论(0编辑  收藏  举报