首頁  >  工具  > $.extend([d],tgt,obj1,[objN])

返回值: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" }