Javascript CoffeeScripts类-访问回调中的属性
我有一个简单的问题。我有Foo课,在constructor我开始计时。在计时器回调中,我想要警报类属性,但我会得到“未定义”,为什么Javascript CoffeeScripts类-访问回调中的属性,javascript,coffeescript,Javascript,Coffeescript,我有一个简单的问题。我有Foo课,在constructor我开始计时。在计时器回调中,我想要警报类属性,但我会得到“未定义”,为什么 谢谢你的帮助 因为这个(或@对于CoffeeScript) 您应该使用粗箭头: runBar: => alert @simpleProperty #fooBar 看到它在工作。在我的理解中,如果调用函数foo.runBar(),这个指针将与对象foo绑定 因此,在函数中,this.simpleProperty将被视为foo.simpleProperty
谢谢你的帮助 因为
这个
(或@
对于CoffeeScript)
您应该使用粗箭头:
runBar: =>
alert @simpleProperty #fooBar
看到它在工作。在我的理解中,如果调用函数
foo.runBar()
,这个指针将与对象foo
绑定
因此,在函数中,this.simpleProperty
将被视为foo.simpleProperty
显然,它返回未定义的
哇,胖箭头的用法非常好。这应该在CoffeeScript的页面上作为示例给出。这个
(在CoffeeScript中称为@
)在foo.runBar()时不一定是foo
。如果runBar
是一个绑定函数,那么无论如何调用runBar
,该都将是绑定的函数。这并不重要,因为问题实际上是在做f=foo.runBar;f()
因此在调用runBar
时没有foo
。
runBar: =>
alert @simpleProperty #fooBar