请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

this问题

您好 Dell老师

js新手在this的问题上还是有些疑惑

图片描述
对于这个图前三个this指向了TodoList Class可以理解

图片描述

这里如果不加band(this)
为什么会出现console.log(this) 的结果是undefined呢
如果说handleInputChange是class TodoList 的method, 为什么他们的this不是同一个指向呢

正在回答 回答被采纳积分+3

2回答

Dell 2019-12-04 21:55:29

因为 class 类不管是原型方法还是静态方法定义,“this”值在被调用的函数内部将为 undefined,为了避免这个问题只能强制去绑定this

2 回复 有任何疑惑可以回复我~
Aaron0128 2019-12-09 19:01:59

如果该用()=>函数去做 会很简单 不用考虑this问题 

0 回复 有任何疑惑可以回复我~
  • Dell #1
    可以是可以,但是在一些情况下不适用
    回复 有任何疑惑可以回复我~ 2019-12-09 21:26:31
  • Aaron0128 回复 Dell #2
    嗯 老师 能简单说下吗?因为之前我先接触的RN所以一直用的箭头函数。如过箭头函数出问题的时候通常bind也会出问题。那时用闭包的方式解决的。因为this指向 有时真的很容易导致不知道指向题
    回复 有任何疑惑可以回复我~ 2019-12-09 23:31:57
  • Dell 回复 Aaron0128 #3
    这个还是要从根本上去理解this,我建议看下 《Javascript 高级程序设计》,对js的this做一个全面理解
    回复 有任何疑惑可以回复我~ 2019-12-10 18:19:06

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信