1. $.fn.method()=function(){}
与$.fn.extend({})
jQuery.fn === jQuery.prototype
,把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法
// 扩展方法
$.fn.dataStatistics = function(options){
options = $.extend({
min : 1000,
times: 3000,
len:9
},options || {
});
var ths = this;//解决this指向问题
}
// 将方法扩展到.dataStatistics元素
$(".dataStatistics").dataStatistics({
min: rate4g,
time: 1000,
len: 6
});
$.fn.extend({})
是对$.fn.method()=function(){}
的扩展,它可以定义多个方法:
$.fn.extend({
a: function() {
},
b: function() {
}
});
等同于
$.fn.a = function() {
};
$.fn.b = function() {
};
2. $.extend()
将两个或更多对象的内容合并到第一个对象,对于同一个属性,后面对象的该属性值的覆盖前面对象的该属性值
$.extend( target [, object1 ] [, objectN ] )
$.extend( [deep ], target, object1 [, objectN ] )
- deep:可选,默认false,为true时表示深度合并对象
- target:目标对象,其他对象的成员属性将被附加到该对象上
- object1:可选,被合并的对象
// 将传入的options参数对象与默认的参数对象合并
options = $.extend({
min : 1000,
times: 3000,
len:9
},options || {
});
为jQuery类添加方法:如果只有一个参数,意味着目标参数被省略,jQuery对象本身被默认为目标对象。
$.extend({
a: function() {
},
b: function() {
}
})