jQuery.extend学习笔记

一:理解功能

jQuery自定义了jQuery.extend()和jQuery.fn.extend()方法.其中jQuery.extend()方法能够创建全局函数或者选择器,而jQuery.fn.extend()方法能够创建jQuery对象方法;也可以认为jQuery.extend(object);是为扩展jQuery类本身,为类添加新的方法。而jQuery.fn.extend(object);是给jQuery对象添加方法。

二:实用案例

1: $.extend(src),该方法时将src合并到jquery的全局对象中,

$.extend({ hi:function(){alert('hi')}}); 这句代码是将hi方法合并到jquery全局对象里。这个用法很重要,是jQuery内部添加实例属性和方法以及原型属性和方法的实现方法,同时也是编写jQuery插件的方法

2:$.fn.extend(src),该方法时将src合并到jquery的实例对象中

$.fn.extend({hi:function(){alert('hi')}});这句代码是将hi合并到jquery的实例对象中。

3:var obj=$.extend({},{name:"Jams",age:18},{name:"Jack",phone:"12345"})

这时obj={name:"Jack",age:18,phone:"12345"};从中可以看出,当后面与前面有相同的属性时,后面的属性的值会覆盖前面的属性值,比如name,没有的属性则会合并

4: var obj=$.extend(true,{},

{name:"Jams",grade:{math:"23",eng:"45"}},

{name:"Jack",grade:{math:"34",eng:"22"}});

这时obj={name:"Jack",grade:{math:"34",eng:"22"}}也就是说,如果在第一个参数里加了一个bool值,当值为true时,是可以把子对象里的值进行覆盖或添加的操作;如果是false,那么会只出现子对象的值,即子对象直接覆盖。

 

你可能感兴趣的:(jquery)