jQuery中的$.extend()及$.fn.extend()用法

$.extend()用来扩展jQuery类本身,为类添加新方法
$.fn.extend()用来扩展jQuery对象方法。

extend() 的一般用法

extend(dest,src1,src2,...);

它的含义是将src1,src2,…合并到dest上,返回值为合并后的dest。

使用方法:

var dest = $.extend({},{name:"tom",age: 21},{name: "levon", age: 28, sex: "male"});
//{}作为dest参数

结果:

dest = {name: "levon", age: 28, sex: "male"};

注意:在前面的参数与后面的参数有相同的名字时,后面的参数值将会覆盖前面参数的值

extend() 省略dist用法

extend(src);

省略dest参数的时候,extend就只能有一个src参数,而且是将src合并到调用extend的对象当中。

使用方法:

$.extend(src)

$.extend({hello:function (){console.log("Hello World!");}});

该方法将src合并到jQuery的全局对象中。

$.fn.extedn(src)

$.fn.extend({hello:function (){console.log("Hello World!");}});

该方法将src合并到jQuery的实例对象中。

例子:

$.extend({newbee: {}});

这是在jQuery全局对象中扩展名为newbee的命名空间。

$.extend($.newbee,{hello:function (){console.log("Hello World!");}});

这是将hello函数扩展到newbee命名空间上。

extend() boolean 参数用法

$.extend(boolean, src1, src2, ...);

当第一个参数为true时,其余参数将会深度拷贝,并返回合并后的值。

使用方法:

$.extend(true, {hello:{say:"hello"}},{world:"say no"});

结果:

dest = {hello:{say:"hello"},world:"say no"}