jQuery提供了两个用于扩展jQuery功能的方法,即jQuery.fn.extend()和jQuery.extend()方法,前者用于扩展封装对象方法的插件,后者用于扩展封装全局函数的插件和选择器插件。这两个方法都接收一个参数,类型为Object,Object可以是名值对,函数或方法。
jQuery.extend()方法除了可以用于扩展jQuery对象之外,还有一个很强的功能,就是用于扩展已有的object对象.
代码如下:
var settings={validate:true,limit:5,name:'jaso'};
var Option={validate:false,name:'hello'};
var test={sex:'male'};
var newOption=$.extend(settings,Option,test);
alert(newOption.validate+";"+newOption.limit+";"+newOption.name+";"+newOption.sex);
jQuery.extend()方法经常被用于设置插件方法的一系列参数,代码如下:
function foo(option){
options=jQuery.extend({
name:'bar',
length:5
},option);
}
如果用户调用foo()时,options存在传的参数,那么默认的参数将被覆盖,如果不存在将使用默认的参数。
通过使用jQuery.extend()可以很方便的用传入参数覆盖默认的参数。