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 對象。這是常用的插件開發模式。