对this的浅解

简单通过几个例子记录一下自己对 this 的理 解:

  1. function fn(){
      alert(this) --------->window.alert(this)     //此时的this指的是  window
    }
    fn();
    

    上面这种函数调用方式我会经常用到。

  2. oDiv.onclick=fn;            //此时fn里的this指的就是  oDiv

    接下来让我们看看元素点击事件

  3. oDiv.onclick=function(){
        1.this;            //这是当前this --------->oDiv
        2.fn();            //此函数中的this(上面第一个函数)------------------>window
    }
    

     可能还会使用行内事件

  4. <div onclick="this.style.color='red'  "></div>    //此时的this一看就知道是当前的div
    
  5. <div onclick="fn()"></div>    //此时fn()函数里的this指的是 window
    

    对第3个例子进行一个应用 :当前this与fn()函数的this指的不是同一个对象  如果我们想要做下面这个例子,那就是不会实现.
    这就需要我们保存this,用其他变量代替。

  6. oDiv.onclick=function(){      改:
       fn1(that);                     添加  that=this;别忘记传参啊;
    } function fn1(that){ this.style.color="red"; 改为: that.style.color="red"; }

原文地址:https://www.cnblogs.com/nf1206/p/6018691.html