jQuery扩展---$.extend和$.fn.extend

一、jQuery.extend

(function($){
	$.extend({
		static:function(){
			console.log("静态方法");
		}
	});
}(jQuery));

$(function(){
    $.static();  //console "静态方法"    
    $("#mydiv").static;  //报错
});	    

上面代码给Jquery 这个类本身添加了一个叫static的方法,被合并到了全局对象中,只与 Jquery 本身有关,与其他的 Jquery 实例对象是没有关系的。所以,这个扩展也就是所谓的静态方法。

二、jQuery.fn.extend

(function($){
	$.fn.extend({
		showId:function(){
			console.log(this.attr("id"));  //mydiv  这里this指的是调用这个方法的jQuery实例对象,本例指得是$("#mydiv");
			console.log(this instanceof jQuery);  //true
		},
		dynamic:function(){
			console.log("jQuery实例对象的");
		}
	});
}(jQuery));

$(function(){
    $("#mydiv").showId(); 
    $("#mydiv").dynamic();  //console "jQuery实例对象的"
    $.showId();  //报错
});

在jQuery源码里,jQuery.fn=jQuery.prototype,jQuery实例对象的原型赋值给jQuery.fn,所以,jQuery.fn.extend拓展的是jQuery对象(原型的)的方法啊!jQuery实例对象是啥?就是类的实例化嘛,例如 $(“#mydiv”) 。

转载于:https://my.oschina.net/daladida/blog/891947

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值