箭头函数的this指针小例子

箭头函数的this,指向函数定义时所处的对象,默认使用其父级的this(例如window)。

1.对象方法内的匿名函数

var obj = {
      f1: function(){
        console.log(this);//指向obj
        var f2=function(){	//这里将一个匿名函数赋值给f2,f2函数没有被挂靠到任何一个对象上去
          console.log(this);//所以这里的this指向默认的window(严格模式下是undefind)
        };
        f2();
      }
    };
    obj.f1();//先输出obj后输出window

f2是作用域为f1的一个匿名函数,没有被挂靠到对象中,所以它内部的this指针默认指向全局对象window(严格模式为undefind)。

2.使用箭头函数改写

var obj = {
      f1: function(){
        console.log(this);//指向obj
        var f2=() =>{
          console.log(this);//这里的this和f1是一样的,为obj
        };
        f2();
      }
    };
    obj.f1();//输出obj和obj

把f2改写为箭头函数,箭头函数的this和他的父级作用域f1一样,指向obj。

3.当箭头函数为对象内方法时

var obj = {
      f3: ()=>{
        console.log(this);
      }      
    };
    obj.f3();//输出window

当箭头函数作为对象的方法时,里面的this不再指向此对象,而是指向对象所在的作用域(这里是window)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值