如何使用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
但是结果JavaScript
有innerFunction2
与outerFunction
处于同一水平,而不是小时候。使用逗号似乎也没有帮助。将两个函数放在同一行,如下所示:
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/