Coffeescript --- 如何创建一个自启动的匿名函数?

如何在coffeescript中写这个?

How to write this in coffeescript?

f = (function(){
   // something
})();

感谢任何提示:)

推荐答案

虽然您可以只使用括号(例如 (-> foo)(),但您可以通过使用 关键字:

While you can just use parentheses (e.g. (-> foo)(), you can avoid them by using the do keyword:

do f = -> console.log 'this runs right away'

do 最常见的用途是在循环中捕获变量.例如,

The most common use of do is capturing variables in a loop. For instance,

for x in [1..3]
  do (x) ->
    setTimeout (-> console.log x), 1

如果没有 do,您只会在循环 3 次后打印 x 的值.

Without the do, you'd just be printing the value of x after the loop 3 times.

相关文章