在python中,我可以在运行时将函数放入变量,然后使用getattr函数调用它
method = getattr(self,self.name)
method()
在Coffeescript中有类似的方法吗?
谢谢!
使用zeekay建议但使用类将是:
class Test
foo: -> alert 'foo'
foo2: methodName -> this[methodName]()
x = new Test
x.foo2('foo')
解决方法:
在Javascript对象中是关联数组,您可以使用属性的名称作为键来访问属性/方法:
obj =
method: -> 'xxx'
method = obj['method']
method() # 'xxx'
您更新的示例不起作用,因为foo2只是返回foo.你可能想试试这个:
class Test
foo: -> alert 'foo'
foo2: -> this['foo']() # or @['foo']()
x = new Test
x.foo2()