Syntax CoffeeScript中正确的函数定义语法是什么?

Syntax CoffeeScript中正确的函数定义语法是什么?,syntax,coffeescript,Syntax,Coffeescript,定义函数的语法是 square = (x) -> x * x 然而,在一些例子中,我发现语法也可以是 square: (x) -> x * x 是首选选项之一吗?这两个选项之间有很大的区别。首先,它们与函数语法无关,函数语法总是(x)->x*x。它们只是在您对函数所做的操作上有所不同 第一个选项定义一个局部变量square,并将该函数分配给它。因此,之后您只需调用square(2)即可得到4 第二个选项是创建javascript对象。如果这是某个函数的最后一行,则这是它的返回值。

定义函数的语法是

square = (x) -> x * x
然而,在一些例子中,我发现语法也可以是

square: (x) -> x * x

是首选选项之一吗?

这两个选项之间有很大的区别。首先,它们与函数语法无关,函数语法总是
(x)->x*x
。它们只是在您对函数所做的操作上有所不同

第一个选项定义一个局部变量
square
,并将该函数分配给它。因此,之后您只需调用
square(2)
即可得到4

第二个选项是创建javascript对象。如果这是某个函数的最后一行,则这是它的返回值。对象必须指定给某个变量,否则它将丢失:

functions = 
  square: (x) -> x * x

functions.square(2) 

这两种选择之间存在巨大差异。首先,它们与函数语法无关,函数语法总是
(x)->x*x
。它们只是在您对函数所做的操作上有所不同

第一个选项定义一个局部变量
square
,并将该函数分配给它。因此,之后您只需调用
square(2)
即可得到4

第二个选项是创建javascript对象。如果这是某个函数的最后一行,则这是它的返回值。对象必须指定给某个变量,否则它将丢失:

functions = 
  square: (x) -> x * x

functions.square(2) 

这两种选择之间存在巨大差异。首先,它们与函数语法无关,函数语法总是
(x)->x*x
。它们只是在您对函数所做的操作上有所不同

第一个选项定义一个局部变量
square
,并将该函数分配给它。因此,之后您只需调用
square(2)
即可得到4

第二个选项是创建javascript对象。如果这是某个函数的最后一行,则这是它的返回值。对象必须指定给某个变量,否则它将丢失:

functions = 
  square: (x) -> x * x

functions.square(2) 

这两种选择之间存在巨大差异。首先,它们与函数语法无关,函数语法总是
(x)->x*x
。它们只是在您对函数所做的操作上有所不同

第一个选项定义一个局部变量
square
,并将该函数分配给它。因此,之后您只需调用
square(2)
即可得到4

第二个选项是创建javascript对象。如果这是某个函数的最后一行,则这是它的返回值。对象必须指定给某个变量,否则它将丢失:

functions = 
  square: (x) -> x * x

functions.square(2) 

您可以将两个版本粘贴到。您可以将两个版本粘贴到。您可以将两个版本粘贴到。您可以将两个版本粘贴到。