在the official CoffeeScript website上,定义函数的语法是
square = (x) -> x * x
然而,在一些other websites上,我发现语法也可能是
square: (x) -> x * x
首选其中一个选项吗?
答案 0 :(得分:3)
这两个选项之间存在巨大差异。首先,它们与函数语法无关,函数语法总是(x) -> x * x
。它们与您正在使用的功能有所不同。
第一个选项定义局部变量square
并将该函数分配给它。因此,之后您只需致电square(2)
即可获得4。
第二个选项是创建一个javascript对象。如果这是某个函数的最后一行,那么这是它的返回值。必须将对象分配给某个变量,否则它将丢失:
functions =
square: (x) -> x * x
functions.square(2)