jquery的extend和fn.extend 区别
Jquery为开发插件提供了两个方法,分别是:
$.extend(obj);$.fn.extend(obj);
1.那么这两个分别是什么意思?
$.extend(obj);是为了扩展jquery本身,为类添加新的方法
$.fn.extend(obj);给JQUERY对象添加方法。
2.$.fn 中的fn是什么意思,其实是prototype,即$.fn=$.protoytpe;
具体用法请看下面的例子:
$.extend({
add:function(a,b){
return a+b;
}
})
$.add(5,8) //return 13
注意没有,这边的调用直接调用,前面不用任何对象。直接$.+方法名
$.fn.extend(obj);对prototype进行扩展,为jquery类添加成员函数, jquery类的实例可以使用这个成员函数。
$.fn.extend({
clickwhile:function(){
$(this).click(function(){
alert($(this).val())
})
}
})
$('input').clickwhile();//当点击输入框会弹出该对象的Value值
注意调用时候前面是有对象的。即$('input') 这么个东西。