$.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