对this的浅解

JavaScript this指向解析
本文通过实例详细解析了JavaScript中this关键字的指向问题,包括不同上下文中this所指的对象,以及如何通过保存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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值