一、$.fn.method()=function(){}和$.fn.extend({})的比较
jQuery.fn === jQuery.prototype
1.$.fn.method()=function(){}的调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法。
比如:
$.fn.myExtension = function(){ var currentjQueryObject = this; //work with currentObject
return this;//you can include this if you would like to support chaining};$.fn.blueBorder = function(){ this.each(function(){
$(this).css("border","solid blue 2px");
}); return this;
};
$.fn.blueText = function(){ this.each(function(){
$(this).css("color","blue");
}); return this;
};由于有return this,所以支持链式,在调用的时候可以这样写:$('.blue').blueBorder().blueText();
2.$.fn.extend({}) 是对$.fn.method()=function(){}的扩展,它可以定义多个方法:
$.fn.extend({
a: function() { },
b: function() { }
});等效于:
$.fn.a = function() { };
$.fn.b = function() { };二、$.extend({}) ,为jQuery类添加方法,可以理解为扩展静态方法(财直通)
$.extend({
abc: function(){
alert('abc');
}
});
usage: $.abc(). (No selector required like $.ajax().)
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦