如何在CoffeScript中传递两个匿名函数作为参数?

我想传递两个匿名函数作为jQueryhover的参数,如下所示:

$('element').hover( function() { // do stuff on mouseover }, function() { // do stuff on mouseout } ); 

只用一个 – hover -> – 很容易,但是CoffeeScript for two的正确语法是什么? 我试过...hover ->...hover( ->...等,但没有得到我的上述结构。

把括号放在匿名函数的周围。

我认为问题在于使用单行注释///* .. */的单行注释似乎正常工作。 这里有一个与评论不同的东西。

 $('element').hover( -> console.log("first") -> console.log("second") ) 

或者使用/* .. */进行注释。

 $('element').hover( -> /* first */ -> /* second */ ) 

您可以尝试尝试CoffeeScript选项卡下的这些示例。 CoffeeScript添加一个return语句来返回函数的最后一个expression式。 如果你想要什么也不做,最后不包含return函数,请尝试:

 $('element').hover( () -> () -> ) // $('element').hover(function() {}, function() {}); 

另一种方法是在调用者函数后面使用反斜杠 ,逗号应该正确缩进。

 $('element').hover \ -> # do stuff on mouseover , -> # do stuff on mouseout 

没有括号或反斜线

 f -> 0 , -> 1 

1.7.1输出:

 f(function() { return 0; }, function() { return 1; });