0

我做了这样的事情:

myProject =

  settings:
    duration: 500
    value: 'aValue'

  aFunction: ->
    myElement.fadeOut myProject.settings.duration

这只是一个示例,但我的项目就是这样。很多时候我必须参考设置来获得某个值,而且我总是要写myProject.settings.value,而且看起来不太好。

我的问题是,我可以调用一个返回所需值的函数吗?像这样的东西:

aFunction: ->
  myElement.fadeOut getSetting(duration)

我试过了

getSetting: (param) ->
  myProject.settings.param

但失败了?这是为什么?谢谢!

4

1 回答 1

2

要通过变量访问对象属性,您可以执行以下操作:

object[key]

在咖啡脚本中,最后一行应该是返回值,在您的示例中:请注意 @ (= this)。

myProject =

  settings:
    duration: 500
    value: 'aValue'

  fadeOut: ($element) ->
    $element.fadeOut @getSetting('duration')

  getSetting: (key) ->
    @settings[key]

myProject.fadeOut($myElement)

的JavaScript:

var myProject;

myProject = {
  settings: {
    duration: 500,
    value: 'aValue'
  },
  fadeOut: function($element) {
    return $element.fadeOut(this.getSetting('duration'));
  },
  getSetting: function(key) {
    return this.settings[key];
  }
};

myProject.fadeOut($myElement);
于 2012-10-09T12:16:14.443 回答