javascript – Coffeescript相当于Python的getattr

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()
上一篇:javascript – jQuery:为什么不触发JS对象的触发?


下一篇:javascript – 设置/覆盖背景颜色时的jQuery / CSS优先级