我有一个我无法调用函数的CoffeeScript。但是,如果我声明它的一个实例并将函数添加到它可以工作的实例。我错过了什么?
不会调用函数:
class testClass
username: 'Fred'
this.testFunction = ()->
alert 'test'
test = new testClass
test.testFunction()
功能有效:
class testClass
username: 'Fred'
test = new testClass
test.testFunction = ()->
alert 'test'
test.testFunction()
答案 0 :(得分:4)
在class
正文中,this
指向类本身,而不是其原型。你想要的是
class testClass
username: 'Fred'
testFunction: ->
alert 'test'
另一方面,写this.testFunction =
会创建testClass.testFunction
。
答案 1 :(得分:1)
尝试
class testClass
username: 'Fred'
testFunction: ()->
alert 'test'
test = new testClass
test.testFunction()
Coffeescript将课程作为第一级概念; this.testfunction =
错了。您应该将其定义为类型函数的字段。