// merge two object, modifying the first;
var object1={
apple:0,
banana:{weight:14,price:233},
cherry:97
};
var object2={
banana:{price:333},
cherry:38
};
jquery.extend(object1,object2);
//result:
object1={apple:0,banana{price:333},cherry:38}
//Example: Merge two objects recursively, modifying the first
var object1 = {
apple: 0,
banana: {weight: 52, price: 100},
cherry: 97
};
var object2 = {
banana: {price: 200},
durian: 100
};
$.extend(true, object1, object2);
//result:
object1 === {apple: 0, banana: {weight: 52, price: 200}, cherry: 97, duria
//Example: Merge defaults and options, //without modifying the defaults. This is a common plugin development pattern.
//target的参数要传递一个空对象,因为target的值最后要改变
var empty = {};
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var settings = $.extend(empty, defaults, options);
//result: settings == { validate: true, limit: 5, name: "bar" empty == { validate: true, limit: 5, name: "bar"}
jquery.extend()是编写插件是最常用到的工具函数来处理options;
下面是fancybox插件的来处理options;
例如: settings=jquery.extend({},$.fn.fancybox.defaults,settings);
上面的代码target是个空对象,这样把默认设置defaults作为第一个对象,将用户传入的设置setting合并到defaults上,
然后将合并后的结果复制给target并将返回值返回。
下面一个例子:
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var setting=$.extend(defaults,options);
上面的代码将defaults作为target的参数,最后和setting的值一样但是defaults的值被改变了,而插件的默认值都是固定,所以使用时注意target的参数的用法。
分享到:
相关推荐
原生js实现jquery $.extend方法 通过遍历对象属性来实现
jquery $.fn.extend 引用事件
Jquery实现$.fn.extend和$.extend函数_.docx
前面我们扩展了bind方法和ready函数,这次我要讲一下$.fn.extend 和$.extend函数。 其他的不多说,直接切入主题吧! 先来看看这两个函数的区别: $.fn.extend是为查询的节点对象扩展方法,是基于$的原型扩展的方法...
Js-$.extend扩展方法使方法参数更灵活.docx
本文实例讲述了jQuery中$.extend()用法。分享给大家供大家参考。具体分析如下: $.extend()方法定义如下: jQuery.extend([deep], target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的...
下面小编就为大家带来一篇深入理解jquery的$.extend()、$.fn和$.fn.extend()。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
$.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象。 例一 合并 settings 和 options,修改并返回 settings var settings = { validate: false, limit: 5, name: "foo" }; var ...
主要介绍了jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法,结合实例形式分析了jQuery中$.extend(true,object1, object2);进行深拷贝操作相关实现技巧,需要的朋友可以参考下
NULL 博文链接:https://bijian1013.iteye.com/blog/2281404
主要介绍了jQuery的$.extend 浅拷贝与深拷贝的相关资料,需要的朋友可以参考下
在JS里,我们的方法参数通常使用JQ的$.extend扩展方法来实现,感兴趣的朋友可以了解下
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。这...
开发扩展其方法时使用$.extend方法,即jQuery.extend(object); 代码如下: $.extend({ add:function(a,b){return a+b;} , minus:function(a,b){return a-b;} }); 页面中调用: 代码如下: var i = $.add(3,2); var j ...
jquery.validate.extend.js
为什么使用它TLDR 如果您或团队中的其他人有时因_.extend() / $.extend()的签名而感到困惑,并意外地修改了源对象而不是目标对象,则此规则可能适合您。细节库的函数和jQuery的都用于将一个或多个源对象的属性复制到...
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。 如扩展$.fn.abc() 那么你可以这样子:$(“#div”).abc(); 通常使用extend方法扩展,详细请看API. $.fx是指jquery的特效。 如果使用...