用法
jQuery.extend( target, object1 [, objectN ] ) => Object
jQuery.extend( target, object1 [, objectN ] ) => Object
说明:将两个或多个对象的内容合并到第一个对象中。
-
添加的版本:1.0
jQuery.extend( target, object1 [, objectN ] )
-
添加的版本:1.1.4
jQuery.extend( [deep ], target, object1 [, objectN ] )
-
添加的版本:1.0
jQuery.extend( object )
-
object类型:Object要合并到 jQuery 命名空间的对象。
-
当向 $.extend()
提供两个或更多对象参数时,所有对象的属性都将添加到目标对象。 null
或 undefined
的参数将被忽略。
如果仅向 $.extend()
提供了一个参数,则意味着省略了目标参数。在这种情况下,jQuery 对象本身被假定为目标。通过这样做,您可以将新函数添加到 jQuery 命名空间。这对于希望向 JQuery 添加新方法的插件作者很有用。
请记住,目标对象(第一个参数)将被修改,并且也将从 $.extend()
返回。但是,如果您想保留两个原始对象,可以通过传递一个空对象作为目标来实现:
|
$.extend()
执行的合并默认不是递归的;如果第一个对象的属性本身是一个对象或数组,它将被第二个或后续对象中具有相同键的属性完全覆盖。值不会合并。这可以通过检查香蕉的值在下面的示例中看到。但是,通过为第一个函数参数传递true
,对象将被递归合并。
警告: 3.4 之前的版本在调用时存在安全问题jQuery.extend(true, {}, object)
在包含__proto__
属性将延长Object.prototype
.
警告: 通过false
不支持第一个参数。
未定义的属性不会被复制。但是,从对象的原型 will
继承的属性会被复制过来。通过 new MyCustomObject(args)
或内置 JavaScript 类型(如 Date 或 RegExp)构造的属性不会重新构造,并将在结果对象或数组中显示为普通对象。
在deep
扩展中,对象和数组是扩展的,但基本类型(如字符串、布尔值和数字)上的对象包装器不是。 Deep-extending 循环数据结构会导致错误。
对于不属于此行为的需求,请改为编写自定义扩展方法,或使用 lodash 之类的库。
例子:
合并两个对象,修改第一个。
|
演示:
递归合并两个对象,修改第一个。
|
演示:
合并默认值和选项,而不修改默认值。这是一种常见的插件开发模式。
|
演示:
相关用法
- JQuery jQuery.escapeSelector()用法及代码示例
- JQuery jQuery.each()用法及代码示例
- JQuery UI jQuery.effects.define()用法及代码示例
- JQuery jQuery.error()用法及代码示例
- JQuery jQuery.inArray()用法及代码示例
- JQuery jQuery.when()用法及代码示例
- JQuery Mobile jQuery.mobile.path.get()用法及代码示例
- JQuery jQuery.grep()用法及代码示例
- JQuery Mobile jQuery.mobile.navigate()用法及代码示例
- JQuery Mobile jQuery.mobile.path.isRelativeUrl()用法及代码示例
- JQuery jQuery.dequeue()用法及代码示例
- JQuery Mobile jQuery.mobile.silentScroll()用法及代码示例
- JQuery jQuery.cssNumber用法及代码示例
- JQuery jQuery.map()用法及代码示例
- JQuery jQuery.readyException()用法及代码示例
- JQuery jQuery.parseJSON()用法及代码示例
- JQuery jQuery.contains()用法及代码示例
- JQuery Mobile jQuery.mobile.path.makePathAbsolute()用法及代码示例
- JQuery jQuery.unique()用法及代码示例
- JQuery jQuery.getJSON()用法及代码示例
- JQuery jQuery.proxy()用法及代码示例
- JQuery jQuery.ajaxSetup()用法及代码示例
- JQuery jQuery.type()用法及代码示例
- JQuery jQuery.cssHooks用法及代码示例
- JQuery jQuery.parseXML()用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 jQuery.extend()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。