jQuery.extend()方法
實例
遍歷數組元素,並修改第一個對象
< div id = " log " ></ div > < script > $ ( function ( ) {
var object1 = {
apple : 0 , banana : { weight : 52 , price : 100 } , cherry : 97
} ; var object2 = {
banana : { price : 200 } , durian : 100
} ; /* object2合併到object1中 */ $. extend ( object1 , object2 ) ; var printObj = typeof JSON != " undefined " ? JSON . stringify : function ( obj ) {
var arr = [ ] ; $. each ( obj , function ( key , val ) {
var next = key + " : " ; next += $. isPlainObject ( val ) ? printObj ( val ) : val ; arr . push ( next ) ; } ) ; return " { " + arr . join ( " , " ) + " } " ; } ; $ ( " #log " ) . append ( printObj ( object1 ) ) ; } ) </ script >
嘗試一下»
定義和用法
jQuery.extend() 函數用於將一個或多個對象的內容合併到目標對象。
注意: 1.如果只為$.extend()指定了一個參數,則意味著參數target被省略。 此時,target就是jQuery對象本身。 通過這種方式,我們可以為全局對象jQuery添加新的函數。
2. 如果多個對象具有相同的屬性,則後者會覆蓋前者的屬性值。
語法
$.extend( target [, object1 ] [, objectN ] )
指示是否深度合併
$.extend( [deep ], target, object1 [, objectN ] )
警告:不支持第一個參數傳遞false 。
参数 | 描述 |
---|---|
deep | 可选。 Boolean类型 指示是否深度合并对象,默认为false。如果该值为true,且多个对象的某个同名属性也都是对象,则该"属性对象"的属性也将进行合并。 |
target | Object类型 目标对象,其他对象的成员属性将被附加到该对象上。 |
object1 | 可选。 Object类型 第一个被合并的对象。 |
objectN | 可选。 Object类型 第N个被合并的对象。 |
更多實例
遞歸方式合併兩個對象
採用遞歸方式合併兩個對象,並修改第一個對象。
合併defaults和options對象
合併defaults 和options 對象,並且不修改defaults 對象。 這是常用的插件開發模式。