javascript - 用于另一个函数的多个函数参数的 CoffeeScript

标签 javascript function coffeescript

如何使用CoffeeScript调用具有多个函数作为参数的函数?例如,如果我想编译为 JavaScript ,

outerFunction(function(innerFunction1) {
        console.log('argument 1');
    },
    function(innerFunction2) {
        console.log('argument 2');
    },
    argument3
);

什么CoffeeScript我会使用代码吗?假设缩进 2 个空格,尽管我在 StackOverflow 上使用了 4 个空格以使其看起来更好。老实说,得到JavaScript正确的缩进也很难。不管怎样,我已经尝试过了

outerFunction (innerFunction1) ->
    console.log 'argument 1'
(innerFunction2) ->
    console.log 'argument 2'
argument3

但是结果JavaScriptinnerFunction2outerFunction处于同一水平,而不是小时候。使用逗号似乎也没有帮助。将两个函数放在同一行,如下所示:

outerFunction (innerFunction1) ->
        console.log 'argument 1', (innerFunction2) ->
        console.log 'argument2,
    argument3

有相反的问题:innerFunction2成为 innerFunction1 的 child .

那么如何使多个函数成为 CoffeeScript 中单个函数的参数?

最佳答案

这就是你想要的:

outerFunction (innerFunction1) ->
  console.log 'argument 1'
, (innerFunction2) ->
  console.log 'argument 2'
, argument3

不幸的是,如果不使用逗号或括号,您就无法在 CoffeeScript 中编写它:

outerFunction(
  (innerFunction1) ->
    console.log 'argument 1'
  (innerFunction2) ->
    console.log 'argument 2'
  argument3
)

除非你的第一个参数不是匿名函数

outerFunction argument1,
  (innerFunction2) ->
    console.log 'argument 2'
  (innerFunction3) ->
    console.log 'argument 3'
  argument4

关于javascript - 用于另一个函数的多个函数参数的 CoffeeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27093759/

相关文章:

javascript - 我可以使用 CoffeeScript 合并其他 js 文件吗?

javascript - 咖啡/javascript短路

javascript - jQuery 动画无法正常工作

javascript - 使用 fetch() 发送带有正文表单数据的 Post 请求

javascript - 如何使用 Javascript 从自定义 505 错误中重新加载请求的页面?

c++ - 如何将用户输入作为参数传递给函数原型(prototype)?

Javascript 函数重写原型(prototype)

javascript - 为什么我的 token 输入在移动设备上中断?

scala - 读取 scala 函数

unit-testing - 使用 Backbone 防止 Jasmine 和 Sinon 进行 AJAX 调用