1

在 jquery 中创建插件时,我正在创建我的可配置设置,如下所示:

var settings = $.extend( {
    'setting_one'  : 'setting_one_value',
    'setting_two'  : 'setting_two_value'
}, options)

我想做的是创建另一个设置,该设置取决于 setting_one 或 setting_two 的值。

例如:

var settings = $.extend( {
    'setting_one'    : 'setting_one_value',
    'setting_two'    : 'setting_two_value',
    'setting_three'  : setting_one + setting_two,
}, options)

我怎样才能做到这一点?

4

2 回答 2

1

我认为你可以存档的唯一方法是通过设置三个之后:

var defaults = {
  one: 1,
  two: 2
};
var options = {
  one: 2,
  two: 4
};

var settings = $.extend({}, defaults, options);

settings.three = settings.one + settings.two;

这是确保您获得正确数据的唯一方法,如果选项不具有以下属性,则 eq two

var options = {
  one: 2
}

settings.three将会4

于 2012-08-04T20:42:28.807 回答
0
var ops = (function (){
  var one, two, three
  one = 'foo'
  two = 'baz'
  three = one + ' ' + two
  return {
    one: one,
    two: two,
    three: three
  }
}())

var o = $.extend(ops, options)
于 2012-08-04T20:34:07.653 回答