JS中 this指向问题总结

【this】指向
1.全局下 【this】指向的是【window】
2.函数中 【this】谁调用指向谁
3.事件处理函数中 【this】谁触发指向谁,谁绑定指向谁
4.对象中的【this】默认的指向当前对象
5.箭头函数中没有【this】但是当箭头函数中出现【this】时,箭头函数中的【this】会往父域中走,相当于父域中【this】指向,因为箭头函数中没有【constructor】属性,不能做构造函数,所以没有【this】
6.构造函数中的【this】指向的是构造的对象
7.如果函数中含有【bind()】,【call()】,【apply()】该怎么办呢?
7.1含有【bind()】时,
- 参数一:改变this指向,参数二到参数N,需要用逗号分开,是给被改变【this】指向【函数】传输【实参】。
7.2含有【apply()】时,
-参数一:改变【this】指向,参数二:是给数组,也是给 apply前面的【函数传输实参】
-注意:call()和apply()只存在于函数对象中,能且只能改变函数方法体中的【this】指向
-作用二:可以执行前面的函数
7.3含有bing()时,
-改变【this】指向,返回【被改变this】的【新函数】
-只能改变【function】函数中的【this】
-参数为【this】指向的对象
-左边函数需要【手动触发】
8.如何判断【this】指向问题:
-第一步:看【this】在哪
-第二步:区分【this】在什么函数中
-第三步:看函数后面是否有【bind(),call(),apply()】,如果没有的话,就使用【谁调用就指向谁规则】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值