如何在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; });