Coffeescript函数声明函数:->;或func=->;?

Coffeescript函数声明函数:->;或func=->;?,coffeescript,Coffeescript,我正在阅读spine.js文档,对函数声明有点好奇。 我一直在看医生 constructor: -> super .... constructor = -> super .... 但除此之外,我总是读书 constructor: -> super .... constructor = -> super .... 函数声明的:和=是否相等?否 定义类时,:的工作方式与其他地方略有不同。在类定义中,:意味着将此函数作为方法放在原型上(实

我正在阅读spine.js文档,对函数声明有点好奇。 我一直在看医生

constructor: ->
  super
  ....
constructor = ->
  super
  ....
但除此之外,我总是读书

constructor: ->
  super
  ....
constructor = ->
  super
  ....
函数声明的:和=是否相等?

定义类时,
的工作方式与其他地方略有不同。在类定义中,
意味着将此函数作为方法放在原型上(实例方法)<代码>构造函数:是用于构造函数函数的特殊情况

如果您查看编译后的javascript,那么差异是显而易见的

class Foo
  constructor: -> @foo = 'foo'
  method: ->
编译到这个(好!)

您可以看到构造函数就是构造函数,方法在原型上

但是,当您使用
=
时,您只需分配局部变量,而函数实际上并不是类的一部分,例如构造函数或原型:

class Bar
  constructor = -> @bar = 'bar'
  method = ->
编译到这个(坏!)

只需查看编译结果,就可以发现或解决有关coffee脚本语法的许多问题。这也是为什么我不建议在不了解JavaScript的情况下学习咖啡脚本的原因,因为如果你不知道它编译成什么,它所做的一些事情就没有意义了。

定义类时,
的工作方式与其他地方略有不同。在类定义中,
意味着将此函数作为方法放在原型上(实例方法)<代码>构造函数:是用于构造函数函数的特殊情况

如果您查看编译后的javascript,那么差异是显而易见的

class Foo
  constructor: -> @foo = 'foo'
  method: ->
编译到这个(好!)

您可以看到构造函数就是构造函数,方法在原型上

但是,当您使用
=
时,您只需分配局部变量,而函数实际上并不是类的一部分,例如构造函数或原型:

class Bar
  constructor = -> @bar = 'bar'
  method = ->
编译到这个(坏!)


只需查看编译结果,就可以发现或解决有关coffee脚本语法的许多问题。这也是为什么我不建议在不了解JavaScript的情况下学习咖啡脚本的原因,因为如果你不知道它编译成什么,它所做的一些事情就没有意义。

编译后的JavaScript看起来像什么?编译后的JavaScript看起来像什么?+1“有关coffee脚本语法的许多问题都可以通过查看编译结果来发现或解决。”。如果遇到任何类型的错误,请查看编译结果。特别是对于“意外缩进”之类的语法错误,打开浏览器窗口时使用“重试”按钮非常有用“您可以在其中粘贴片段并立即获得反馈的页面。值得注意的是,在0.9.0之前,
x=y
x:y
在CoffeeScript中是同义词。当然,今天,
x:y
意味着
{x:y}
+1,因为“关于咖啡脚本语法的许多问题可以通过查看编译结果来发现或解决。”。如果遇到任何类型的错误,请查看编译后的结果。特别是对于“意外缩进”这样的语法错误,打开浏览器窗口并打开“试用”页面非常有用,您可以在其中粘贴代码片段并立即获得反馈。值得注意的是,在0.9.0之前,
x=y
x:y
在CoffeeScript中是同义词。当然,今天,
x:y
意味着
{x:y}