为什么调用javascript类方法需要在函数中声明?
我无意中发现了这个代码 (此componentDidMount()位于React.Component扩展类内) 问题是,为什么我首先需要绑定()=>呢 而如果在课外我可以做些什么为什么调用javascript类方法需要在函数中声明?,javascript,reactjs,Javascript,Reactjs,我无意中发现了这个代码 (此componentDidMount()位于React.Component扩展类内) 问题是,为什么我首先需要绑定()=>呢 而如果在课外我可以做些什么 setInterval(tick,1000) 编辑:在我为标记为重复问题辩护时,重复问题的链接围绕着“this”关键字。而我真正要问的是为什么我应该在类中使用arrow函数/绑定。虽然答案指向如何使用“this”关键字,但其来源和问题是绝对唯一的。()=>是箭头函数,箭头函数中的this值由周围范围决定。如果没有箭头
setInterval(tick,1000)
编辑:在我为标记为重复问题辩护时,重复问题的链接围绕着“this”关键字。而我真正要问的是为什么我应该在类中使用arrow函数/绑定。虽然答案指向如何使用“this”关键字,但其来源和问题是绝对唯一的。
()=>
是箭头函数,箭头函数中的this
值由周围范围决定。如果没有箭头功能,此内setInterval
将获得一个新的范围
,因此此项。勾选将不起作用。如果您使用的是箭头函数,范围
对于本教程中的设置间隔
内外都是相同的,勾选
是类中的一种方法。由于它是一个箭头函数(在checkInterval内),上下文this
是类1(时钟),而不是interval函数的作用域,因此您正在访问类本身的tick方法。在类之外,您正在调用另一个tick方法,即本教程开头声明的方法。一个相关问题:
setInterval(tick,1000)