jQuery中的$.extend方法总结
2014-09-16 19:24 盛世游侠 阅读(324) 评论(0) 编辑 收藏 举报 Jquery的扩展方法extend是我们在写插件的过程中常用的方法,但是经常容易搞不清楚以下两个写法的关系:
1、$.extend(dest,src1,src2,src3...);
将src1、src2、src3...合并到dest中,dest,src可以是数组、对象、函数;如果省略dest参数,则$.extend(src)只能有一个参数:src,此时它的作用是把src合并到调用它的对象中,也就是合并到jquery“类”中。当然,如果你希望将src1,src2、src3都合并到jquery“类”中,你可以这样写:$ = .extend(this,src1,src2,src3);
$(function(){ $ = $.extend(this,{ hello:function(){alert('hello');} }); $.hello(); });
2、$.fn.extend(src);
这个跟写法1省略了dest的写法是一样的作用,但是因为它的调用对象是$.fn了,所以它的作用是把src合并到jQuery实例中。
3、$.extend()和.fn.extend()的不同;
这个跟写法1省略了dest的写法是一样的作用,但是因为它的调用对象是$.fn了,所以它的作用是把src合并到jQuery实例中。
4、$.extend(boolean,dest,src1,src2,src3...);
第一个参数boolean代表是否进行深度拷贝,其余参数和前面介绍的一致;
所谓深度合并就是指src1,src2,src3等数组或对象不但父级合并,而且各个子级也合并,如遇同名项,那么后面参数的项覆盖前面参数的项,详细解释请参见jQuery.extend()函数详解