【问题标题】:Coffeescript whitespace between function name and left parenthese函数名和左括号之间的 Coffeescript 空格
【发布时间】:2018-10-11 16:38:28
【问题描述】:

函数名和左括号之间的空格有什么意义?

foo=(x,y)->x*y
foo(1,2) # ok
foo (1,2) # not ok

上面的最后一行给出了error: unexpected ,

【问题讨论】:

    标签: syntax coffeescript


    【解决方案1】:

    在 Coffeescript 中,您可以调用一个函数,该函数接受带或不带括号的参数:

    foo(1,2)
    foo 1, 2
    

    如果你有一个空格,那么它可以很好地解释与参数在同一行的任何内容。让我们以另一个函数bar 为例,它只接受一个参数:

    bar = (x) -> x * x
    

    你可以在括号前加一个空格来调用它:

    bar (2)
    # ---> 4
    

    这是因为 Coffeescript(或 Javascript)中的括号可用于包装表达式以及调用函数。常见的例子是if 语句或复杂的条件/数学表达式。在 bar (2) 的情况下,表达式的内容被简单地计算为 2(就像您在咖啡 CLI 中键入 2 一样)。然后将其传递给bar,就好像您调用了bar 2

    对于带有两个参数的函数foo,它会将(1,2) 计算为表达式。但是, 不是有效的运算符,因此会引发错误。就像您在咖啡 CLI 中输入 1,2 一样。

    【讨论】:

    • 谢谢。这让我再次切换回纯 JavaScript ;-b
    猜你喜欢
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2021-03-22
    • 2013-06-03
    • 1970-01-01
    • 2019-10-09
    相关资源
    最近更新 更多