返回值:ObjectjQuery.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,ObjectV1.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" }