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 に答える