jQuery.extendの履歴

第1引数に第2、第3の順でマージされる。ただし再帰しない。
第1引数をtrueにした場合はディープコピーする

  var base = {'a': 1, 'b': 2};
  var option = {'c': 3, 'b': 5};

  var merged = $.extend(base, option);
  console.log(merged, base, option);

  // merged: Object a=1 b=5 c=3
  // base  : Object a=1 b=5 c=3
  // option: Object c=3 b=5

デフォルト値の設定

マニュアルより。第1引数に空を指定。

var empty = {}
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = $.extend(empty, defaults, options);

// Result:
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }

継承する

Child、Oyaはオブジェクトなので(関数オブジェクト)。

var Child = function(){};
var Oya = function(){};
jQuery.extend(Child.prototype, Oya.prototype)


http://api.jquery.com/jQuery.extend/