jQuery.extend()方法 jQuery.each()方法 jQuery.fn.extend()方法 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 对象。这是常用的插件开发模式。 jQuery.each()方法 jQuery.fn.extend()方法