jQuery.extend和jQuery.fn.extend的区别

https://jingyan.baidu.com/article/fec4bce259ef67f2608d8b10.html



我们先把jQuery看成一个类,而jQuery.extend()是扩展的这个类。假设我们把jQuery看成是人类能吃饭喝水能跑能跳,现在我们用jQuery.extend()这个方法给这个类拓展一个唱歌的技能。这样的话,不管男人还是女人,就都能继承这个方法了



jQuery.extend和jQuery.fn.extend的区别_第1张图片
这说明啥啊,说明.dandan()变成了这个类本身的方法(object)嘛~~~,她现在能好好学习了呢,但是啊,这个能力呢,只有代表jQuery这个类本身,才能用啊,你个人想用,人家全人类都不理你,难道你说想用就想用了?,你一个小渣渣能代表全人类嘛~,所以啊,这个扩展也就是所谓的静态方法,只跟这个类本身有关,跟你具体的实例化对象是没关系滴


我们在看看jQuery.fn.excend()这个方法,从字面意思,这个扩展的是jQuery.fn的方法,这个又是什么鬼?
jQuery.extend和jQuery.fn.extend的区别_第2张图片原来jQuery.fn=jQuery.prototype就是原型,那就一目了然了,jQuery.fn.extend拓展的是jQuery对象的(原型的)方法啊!
对象是啥?就是类的实例化嘛,比如:
$("#abc")
这个玩意就是实例化的jQuery的对象嘛。
那就是说,jQuery.fn.extend拓展的方法,你得用在jQuery对象上面才行啊!他是张三李四这些实例化的对象才有用啊。说白了就是得这么用(假设xyz()是拓展的方法):
$('.selector').xyz();  你要是这么用$.xyz();这样是错误的,只有html(),text() 这种才能这样写,你一个后来的写的方法,哪有那么牛掰,直接用了?你说啊是?
所以啊,我们就低调点,看下面的写法:
jQuery.extend和jQuery.fn.extend的区别_第3张图片

你可能感兴趣的:(jQuery.extend和jQuery.fn.extend的区别)