返回值:Object jQuery.extend( [deep] , target, object1, [objectN] )
概述
用一個或多個其他對像來擴充套件一個對象,返回被擴充套件的對象。
如果不指定target,則給jQuery名稱空間本身進行擴充套件。這有助於外掛作者為jQuery增加新方法。 如果第一個參數設定為true,則jQuery返回一個深層次的副本,遞迴地複製找到的任何對象。否則的話,副本會與原對像共享結構。 未定義的屬性將不會被複制,然而從對象的原型繼承的屬性將會被複制。
參數
target,[object1],[objectN] Object,Object,Object V1.0
target :一個對象,如果附加的對象被傳遞給這個方法將那麼它將接收新的屬性,如果它是唯一的參數將擴充套件jQuery的名稱空間。
object1 :待合併到第一個對象的對象。
objectN :待合併到第一個對象的對象。
[deep],target,object1,[objectN] Object,Object,Object,Object V1.1.4
deep :如果設為true,則遞迴合併。
target :待修改對象。
object1 :待合併到第一個對象的對象。
objectN :待合併到第一個對象的對象。
示例
描述:
合併 settings 和 options,修改並返回 settings。
jQuery 程式碼:
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
結果:
settings == { validate: true, limit: 5, name: "bar" }
描述:
合併 defaults 和 options, 不修改 defaults。
jQuery 程式碼:
var empty = {};
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = jQuery.extend(empty, defaults, options);
結果:
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }