this的指向

this的指向

this的指向

之前一直不懂箭头函数和普通函数的区别,什么指针丢失,后来自己试了一下

在这里插入图片描述

在这里插入图片描述
这里是运行结果
在这里插入图片描述
先看前5行 obj.fn()
第一行 fn函数是obj.fn()所以 fn的指向是obj 这很简单
第二行 say函数 因为是箭头函数 this没有丢失 this还是指向obj
第三行 fn1 我是fn函数开始var 了一个that保存了this 这里的指针是一开始就保存好了的 指向obj
第四行 fn2 这里是经典的bind 改变指针的指向
第五行 同样是fn2 但是这里的name age 都是我在最前面 申明过了的
说明丢失的指针指向了window

再看中间的五行 obj.fn.bind(obj1)()
对比一下 默认的this 指向改变了 但是还是最后丢失了

再看最后五行指向window 看不出来谁丢失了 但是之前丢失的指针的第五行和这里指向window的值是一样的 所以丢失的指针指向了window

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值