js插件之$.extend()、$.fn和$.fn.extend()区别

来源:互联网 发布:js 数组 splice 删除 编辑:程序博客网 时间:2024/06/10 20:14

jQuery为开发插件提拱了两个方法,

jQuery.fn.extend();

jQuery.extend();


 jQuery.fn = jQuery.prototype;

$(“#btn1″) 会生成一个 jQuery类的实例,即可以直接调用jQuery.prototype里面的方法。

对于jQuery.extend:

1、jquery.extend(obj):为jQuery类添加类方法,可以理解为添加静态方法

如:

jQuery.extend({min: function(a, b) { return a < b ? a : b; },max: function(a, b) { return a > b ? a : b; }});jQuery.min(2,3); //  2 jQuery.max(4,5); //  5
2、jquery.extend( target, object1, [objectN]):用一个或多个其他对象来扩展一个对象,返回被扩展的对象

var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); 结果:settings == { validate: true, limit: 5, name: "bar" }

对于jQuery.fn.extend:对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。拓展一个对象到jQuery的 prototype里去,这样的话就是插件机制了

$.fn.extend({              alertWhileClick:function() {                      $(this).click(function(){                                  alert($(this).val());                      });                }       });       $("#input1").alertWhileClick(); 


0 0
原创粉丝点击