🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 返回值: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,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" } ~~~