$.extend(object) 和 $.fn.extend(object)

1、jQuery.extend(object);

它是为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

//用一个或多个其他对象来扩展一个对象,返回被扩展的对象。
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" }

2、jQuery.fn.extend(object);

$.fn是指jQuery的命名空间,fn上的成员(方法function及属性property),会对每一个jQuery实例有效。
原来 jQuery.fn = jQuery.prototype.

jQuery.fn = jQuery.prototype = {

   init: function( selector, context ) {//.... 

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

$("#input1") 是一个jQuery实例,它能调用jQuery.prototype上的方法 getClickVal。

2017/2/28

原文地址:https://www.cnblogs.com/papi/p/6527169.html