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

  1. 我们先把jQuery看成了一个类,这样好理解一些。

    jQuery.extend(),是扩展的jQuery这个类。

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

    可以如下图这样写着:

  2. 然后:$.liu();这样就能打印出来”liu“这个字符串

    代码在下面:

  3. 这说明啥啊,这说明.liu()变成了jQuery这个类本身的方法(object)嘛。他现在能”唱歌“了。

    但是吧,这个能力啊,只有代表全人类的 jQuery 这个类本身,才能用啊。你个人想用,你张三李四王五麻六,你个小草民能代表全人类嘛?

    所以啊,这个扩展也就是所谓的静态方法。只跟这个 类 本身有关。跟你具体的实例化对象是没关系滴。

    我们再看看jQuery.fn.extend()这个方法。

    从字面理解嘛,这个拓展的是jQuery.fn的方法。

    jQuery.fn是啥玩意呢?

    源码如下

  4. 哦,原来jQuery.fn=jQuery.prototype,就是原型啊。

    那就一目了然了,jQuery.fn.extend拓展的是jQuery对象(原型的)的方法啊!

    对象是啥?就是类的实例化嘛,例如

    $("#abc")

    这个玩意就是一个实例化的jQuery对象嘛。

    那就是说,jQuery.fn.extend拓展的方法,你得用在jQuery对象上面才行啊!他得是张三李四王五痳六这些实例化的对象才能用啊。

    说白了就是得这么用(假设xyz()是拓展的方法):

    $(‘selector‘).xyz();

    你要是这么用$.xyz();是会出错误滴。

    代码看下面图片:

  5. 5

    和上边的区别区别一目了然吧?

    其实吧,jQuery.extend()这个方法,主要是用来拓展个全局函数啦,例如$.ajax()这种,要不就是拓展个选择器啦,例如$.fn.each(),当选择器用。

    大部分插件都是用jQuery.fn.extend()。

时间: 2024-12-14 18:10:17

jQuery.extend和jQuery.fn.extend的区别的相关文章

$.extend(obj)和$.fn.extend(obj)的区别

$.extend(obj): 扩展jquery本身,添加方法: $.extend({ add:function(a,b){ return a+b; } }) $.add(5,8) //return 13 这里是直接调用,$.add(5,8);不加任何对象. $.fn.extend(obj): 对prototype进行扩展,为jquery类添加成员函数, jquery类的实例可以使用这个成员函数. $.fn.extend({ clickwhile:function(){ $(this).click

jQuery.fn.extend() 与 jQuery.extend()

bootstrap form-group和form-control 如何行内布局,如何水平布局. jQuery.fn如何扩展. jQuery插件 $.fn(object)与$.extend(object) jQuery提供了两个方法帮助开发插件 $.extend(object);扩展jQuery类本身: $.fn.extend(object);扩展jQuery对象: 一.$.fn $.fn 等于 $.prototype:这样就好理解了,就好比对String.porotype增加一个函数,然后所有

jquery.fn.extend与jquery.extend用法与区别

关于jquery.fn.extend与jquery.extend用法与区别. jQuery为开发插件提拱了两个方法,分别是:  代码如下 复制代码 jQuery.fn.extend(object);  和   jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. fn 是什么东西呢.查看jQuery代码,就不难发现.  代码如下 复制

JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)

理解$.extend(),与$.fn.extend()方法区别 1.$.extend()方法 $.extend()方法在JQuery中有两个用法,第一次是扩展方法, 第二个方法是 jQuery.extend([deep], target, object1, [objectN]) 返回值:Object 把2个对象合并得到新的target,deep是可选的(递归合并) 合并 settings 和 options,修改并返回 settings. jQuery 代码: var settings = {

利用jQuery对插件进行扩展时,方法$.extend()、$.fn.extend()区别与联系

  利用JQ开发插件的方法: 1.jQuery.extend(); 2.jQuery.fn.extend(); 3.通过$.widget()应用jQuery UI的部件工厂方式创建. 由于第三种方式通常用于开发比较高级的jQuery的部件,开发难度较大,所以第一种和第二种方式用的更为广泛,下面主要对前两种方式的区别和联系以及使用的方法做一些介绍. 简要的说明一下: jQuery是一个封装的非常好的类,$(“#btn”)就相当于创建了一个jQuery的实例. 1.方法jQuery.fn .exte

jquery的$.extend和$.fn.extend作用及区别,兼它们的一些小细节

$.extend(obj);是为了扩展jquery本身,为类添加新的方法   $.fn.extend(obj);给JQUERY对象添加方法.如(1): $.extend({ add:function(a,b){ return a+b; } }) $.add(5,8) //return 13 注意没有,这边的调用直接调用,前面不用任何对象.直接$.+方法名 (2): $.fn.extend({ clickwhile:function(){ $(this).click(function(){ ale

jQuery.extend和jQuery.fn.extend的区别【转】

解释的很有意思,清晰明了又有趣,转来分享下,哈哈哈 jQuery.extend和jQuery.fn.extend的区别,其实从这两个办法本身也就可以看出来.很多地方说的也不详细.这里详细说说之间的区别. jQuery库. javascript 1 我们先把jQuery看成了一个类,这样好理解一些. jQuery.extend(),是扩展的jQuery这个类. 假设我们把jQuery这个类看成是人类,能吃饭能喝水能跑能跳,现在我们用jQuery.extend这个方法给这个类拓展一个能唱歌的技能.这

jQuery.fn.extend与jQuery.extend到底区别在哪?

正文: 其实说白了,从两个方法本身就能看出来端倪. 我们先把jQuery看成了一个类,这样好理解一些. jQuery.extend(),是扩展的jQuery这个类. 假设我们把jQuery这个类看成是人类,能吃饭能喝水能跑能跳,现在我们用jQuery.extend这个方法给这个类拓展一个能唱歌的技能.这样的话,不论是男人,女人,xx人.....等能继承这个技能(方法)了. 我们这样写: 1 2 3 4 5 jQuery.extend({     liu: function(){         

区别和详解:jQuery extend()和jQuery.fn.extend()

1.认识jQuery extend()和jQuery.fn.extend() jQuery的API手册中,extend方法挂载在jQuery和jQuery.fn两个不同对象上方法,但在jQuery内部代码实现的是相同的,只是功能却不太一样: 且看官方给出解释: jQuery.extend(): Merge the contents of two or more objects together into the first object.(把两个或者更多的对象合并到第一个当中): jQuery.