$.extend(obj);是为了扩展jquery本身,为类添加新的方法
$.fn.extend(obj);给JQUERY对象添加方法。
$.extend({
add:function(a,b){
return a+b;
}
})
$.add(5,8) //return 13
直接调用,前面不用任何对象。直接$.+方法名
$.fn.extend({
clickwhile:function(){
$(this).click(function(){
alert($(this).val())
})
}
})
$('input').clickwhile();//当点击输入框会弹出该对象的Value值
调用时候前面是有对象的。即$('input')
$.extend()有两种写法
(1)$.extend(obj);
这是只有一个参数,代表的意义是:为jQuery类添加类方法,可以理解为添加静态方法,也就是全局方法。
(2)$.extend( target, object1, object2, object3, object4,[objectN]);
这是两个或两个以上的参数,代表的意义是:用一个或多个其他对象来扩展一个对象,返回被扩展的对象。即也就是扩展和覆盖了第一个对象。
$.fn.extend(obj);
$.fn 中的fn是 原型 的意思
其实是prototype,即$.fn=$.protoytpe;
$.fn相当于Java类中新增了一方法,所以这个方法是针对所有的类实例对象。
$.extend相当于java类中新了一个静态方法,所以这个方法是针对类来使用的,而不是类实例对象了。