第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/