6

コード内:

slider.init({
 foo: "bar"
});

var slider={
 init:function(data){
 }
}

を使用するdata.fooと、「バー」が表示されます。

fishJSON変数に含めることができるというオプションの変数があるとします。参照data.fishすると、未定義かエラーがスローされるかなどと言われます。魚にデフォルト値を割り当てて、リクエストしたときにdata.fish、パラメータに設定されていなくてもデフォルト値を取得できるようにする方法はありますか?

4

1 に答える 1

13

or 演算子を使用して、定義されていない場合にデフォルト値を割り当てることができます。次に例を示します。

var slider = {
 init:function(data){
   var fish = data.fish || "default value";
 }
}

または、「拡張」関数を作成して、jQuery拡張関数と同様に 2 つのオブジェクトをマージすることもできます。

function extend (obj1, obj2) { 
  var result = obj1, val;
  for (val in obj2) {
    if (obj2.hasOwnProperty(val)) {
      result[val] = obj2[val];
    }
  }
return result;
}

var defaults = {val1: 1, val3: 3, fish: 'fish'};
extend(defaults, {val2: 2}); // returns Object val1=1 val3=3 fish=fish val2=2
于 2009-09-06T19:29:24.227 に答える