返回值:ObjectjQuery.extend([deep], target, object1, [objectN])
jQuery $.extend() 方法概述
用一個(gè)或多個(gè)其他對(duì)象來(lái)擴(kuò)展一個(gè)對(duì)象,返回被擴(kuò)展的對(duì)象。
如果不指定target,則給jQuery命名空間本身進(jìn)行擴(kuò)展。這有助于插件作者為jQuery增加新方法。 如果第一個(gè)參數(shù)設(shè)置為true,則jQuery返回一個(gè)深層次的副本,遞歸地復(fù)制找到的任何對(duì)象。否則的話(huà),副本會(huì)與原對(duì)象共享結(jié)構(gòu)。 未定義的屬性將不會(huì)被復(fù)制,然而從對(duì)象的原型繼承的屬性將會(huì)被復(fù)制。
參數(shù)
target,[object1],[objectN]Object,Object,ObjectV1.0
target:一個(gè)對(duì)象,如果附加的對(duì)象被傳遞給這個(gè)方法將那么它將接收新的屬性,如果它是唯一的參數(shù)將擴(kuò)展jQuery的命名空間。
object1:待合并到第一個(gè)對(duì)象的對(duì)象。
objectN:待合并到第一個(gè)對(duì)象的對(duì)象。
[deep],target,object1,[objectN]Object,Object,Object,ObjectV1.1.4
deep:如果設(shè)為true,則遞歸合并。
target:待修改對(duì)象。
object1:待合并到第一個(gè)對(duì)象的對(duì)象。
objectN:待合并到第一個(gè)對(duì)象的對(duì)象。
示例
描述:
合并 settings 和 options,修改并返回 settings。
jQuery 代碼:
var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
結(jié)果:
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);
結(jié)果:
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }