jquery.extend使用说明

在学习jquery的时候偶然看到JQuery.extend()操作,不知道怎么回事,通过查找有了大致了解,在此整理,谨记之。



jquery为开发插件提供了两个方法:
JQuery.fn.extend(object);//1
JQuery.extend(object);//2

虽然javascript没有明确的类概念,但是我们不妨把它当做类解释,这样我们更容易理解;
JQuery就相当于一个类:

  1、类中有类方法和成员方法
  2、类可以通过继承是想扩展

通过JQuery.extend扩展的内容相当于类范围,可以直接调用
   例:我们通过
        JQuery.extend({
        add:function(id,value){
            }
       })
      添加了一个add静态方法;
   然后我们就可以在使用jquery的地方通过$.add(1,1)调用


在看JQuery.fn.extend,通过产看代码可以知道是对JQuery.prototype的扩展,
     例:我们通过
        JQuery.fn.extend({
        add:function(){
            }
       })
      添加了一个add实例方法;
   然后我们就可以在使用jquery的地方通过$('input').add()调用;



注意:

在这里还有一个特殊的地方,就是在函数开头的地方有jQuery.extend = jQuery.fn.extend,而在程序的前面已经将jQuery.prototype赋值给jQuery.fn了,所以在后面的调用中会出现 jQuery.extend()和jQuery.fn.extend()的不同调用,这两个方法调用产生的结果也不一样,jQuery.extend() 的调用并不会把方法扩展到对象的实例上,引用它的方法也需要通过jQuery类来实现,如jQuery.init(),而 jQuery.fn.extend()的调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法,这是很重要的,在jQuery.js中到处体现这一点

 



你可能感兴趣的:(jquery)