一句话:jQuery.extend是对JQuery类的自定义扩展,jQuery.fn.extend是对JQuery对象的自定义扩展.
所以使用jQuery.extend扩展插件是 调用是类似 $.ajax()。
jQuery.fn.extend上扩展插件是,使用 $().xxx()。
1,为什么使用jQuery.extend扩展,是使用$.ajax()方式去调用呢?
答:jQuery.fn.init.prototpe=jQuery.fn.prototype //这里jQuery只是把它自己的原型对象赋值给了jQuery.fn.init的原型对象,
并没有把jQuery的构造函数里面的实例属性和实例方法给jQuery.fn.init。类似于:
function $(){}; $.diy=function(){ //这里自定义了diy的方法。 }
调用就是$.diy();
2, 为什么使用jQuery.fn.extend扩展,是使用$().diy()方式去调用呢?
答: var jQuery=function(){ return new jQuery.prototype.init(); }
$()就是执行了jQuery的函数,而函数返回的是一个new jQuery.prototype.init()对象,既然是对象就可以$().diy()。去调用方法了。
所以jQuery.extend和jQuery.fn.extend是不同概念的。
一句话:jQuery.extend是对JQuery类的自定义扩展,jQuery.fn.extend是对JQuery对象的自定义扩展.