Web开发肯定要使用第三方插件,对于一个炫丽的效果都忍不住想看看对方是如何实现的,刚下载了一个仿京东商品鼠标经过时局部放大的插件。看了两眼JQuery源码,看看就感觉一头雾水。JQuery本来自己学的就半吊子,再加智商又不惊人。。。当开发插件的时候难免会使用$.fn与$.extend。原来看到这个时候非常抵触,今天再次看到的时候简单的查了查外加一个Demo实验了一下。以下为几分钟补脑后的小记,如有错误请大神急时指出以免误导他人。

进入正题:

1、$.fn.【UserDefinitionName】(PS:UserDefinitionName为自定义的方法名称)

$.fn是指JQuery的命名空间,加上fn上的方法及属性,会对JQuery实例每一个都有效。例如:

<script type="text/javascript">

$.fn.sayhello = function () { alert('提示:$.fn.sayhello'); };

$(document).ready(function () {

$("#btn").sayhello();     // btn为Button的Id

});

</script>

注:我对$.fn的理解是相当于给一个Object对象添加了一个扩展方法(PS:个人观点)

2、$.extend

其实他和$.fn是非常相似的,详细做Web的人大部分都用过$.ajax、$.get等方法,而这个$.extend就是用来添加自定义”静态”方法的。例如:

<script type="text/javascript">

$.fn.sayhello = function () { alert('提示:$.fn.sayhello'); };

$.extend({

sayChinese: function () { alert('提示:世界、你好!');},

sayEnglish: function () { alert('Message:Hello World !');}

});

$(document).ready(function () {

$("#btn").sayhello();

$.sayChinese();

$.sayEnglish();

});

</script>

3、$.fn.extend

如果你要问我这个与$.fn.【UserDefinitionName】有什么区别,那我只能说“我母鸡耶。。。”!我测试了一下他与$.fn.【UserDefinitionName】都能实现Object对象的扩展方法。原因我不清楚。不过还是贴出这个的代码吧

<script type="text/javascript">

$.fn.sayhello = function () { alert('提示:$.fn.sayhello'); };

$.extend({

sayChinese: function () { alert('提示:世界、你好!');},

sayEnglish: function () { alert('Message:Hello World !');}

});

$.fn.extend({

objectMethod: function () { alert('提示:$.fn.extend'); }

});

$(document).ready(function () {

$("#btn").sayhello();

$.sayChinese();

$.sayEnglish();

$("#btn").objectMethod();

});

</script>

4、$.【UserDefintionName】

这个与$.extend如出一辙,如果硬要让我说他俩不同点那只能说写法不通了

<script type="text/javascript">

$.fn.sayhello = function () { alert('提示:$.fn.sayhello'); };

$.extend({

sayChinese: function () { alert('提示:世界、你好!');},

sayEnglish: function () { alert('Message:Hello World !');}

});

$.fn.extend({

objectMethod: function () { alert('提示:$.fn.extend'); }

});

$.CodeMonkey = function () { alert('CodeMonkey是神!');};

$(document).ready(function () {

$("#btn").sayhello();

$.sayChinese();

$.sayEnglish();

$("#btn").objectMethod();

$.CodeMonkey();

});

</script>

【JavaScript】JQuery中$.fn、$.extend、$.fn.extend的更多相关文章

  1. jquery中方法扩展 ($.fn & $.extend) 学习笔记

    A.$.fn 1.$.fn.method() 函数为jQuery对象扩展一个属性和方法(主要用于扩展方法) :method 为自定义方法名 ($.fn 等效 $.prototype) $.fn.bor ...

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

    jQuery.fn如何扩展. jQuery插件 $.fn(object)与$.extend(object) jQuery提供了两个方法帮助开发插件 $.extend(object);扩展jQuery类 ...

  3. 理解jQuery的$.extend与$.fn.extend

    https://www.cnblogs.com/xuxiuyu/p/5989743.html 上面这篇博客总结的很棒!!,以下对自己的认识做一个总结 <!DOCTYPE html> < ...

  4. jQuery中,$.extend,$obj.extend和$.fn.extend三者的区别

    jQuery中,$.extend,$obj.extend和$.fn.extend三者的区别 现在做的一个项目,所使用的框架是基于jQuery扩展的,于是平时学了一下jQuery,了解到了它的扩展函数: ...

  5. WHAT?【 $.fn.extend() 】vs【 $.extend() 】

    废话不多说,干货来了,转自http://www.cnblogs.com/hellman/p/4349777.html (function($){ $.fn.extend({ test:function ...

  6. jQuery为开发插件提拱了两个方法:jQuery.fn.extend(); jQuery.extend();

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); jQuery.fn jQuery.fn = jQuery.prototype ...

  7. Jquery自定义插件之$.extend()、$.fn和$.fn.extend()

    jquery插件的种类: 1.对象级别的插件开发,即给jQuery对象添加方法,封装对象方法的插件,如:parent().appendTo() 2.一种是类级别的插件开发,即给jQuery添加新的全局 ...

  8. jQuery插件的开发之$.extend(),与$.fn.extend()

        jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种 ...

  9. 理解jquery的$.extend()、$.fn和$.fn.extend()

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); jQuery.fn jQuery.fn = jQuery.prototype ...

随机推荐

  1. IT人的自我导向型学习:开篇杂谈

    报考大学时,家人让我报的是计算机系,那个时候,普遍都认为读计算机专业的人将来不用愁找不到工作.为何得出这样的结论不得而知,但是在过去三十年中,的确有很多响当当赚了大钱的IT人在影响着我们. 顺利的考取 ...

  2. Mysql学习笔记(七)查(补充)

    PS:五一还是要学习...虽然有点苦逼..但是路是自己选的,那么自己就要坚持的走下去... 学习内容: 1.数据库查找的补充... 查找涉及的东西比较多,在上一个章节没有完全介绍...我们还是以pet ...

  3. 一篇通俗易懂的讲解OpenGL ES的文章

    电脑或者手机上做图像处理有很多方式,但是目前为止最高效的方法是有效地使用图形处理单元,或者叫 GPU.你的手机包含两个不同的处理单元,CPU 和 GPU.CPU 是个多面手,并且不得不处理所有的事情, ...

  4. Sprint总结和第八九十的读书笔记

    总结:经过这次的Sprint,我在从中收获了很多.作为产品负责人的我,主要责任就是合理分配任务给自己的队友,调动队友的积极性.虽然这其中也有些不尽人意的地方,但是我们都坚持的走了过来,团队合作真的很重 ...

  5. 6/19 sprint3 看板和燃尽图的更新

  6. ASP.NET MVC5--添加验证

    1.在Model类里面添加验证,代码如下: public class Movie { public int ID { get; set; } [StringLength(,MinimumLength= ...

  7. ASP.NET MVC5--Contains

    前言: * The Contains  method is run on the database, not the c# code above. On the database, Contains  ...

  8. Codeforces Round #313 (Div. 1) B. Equivalent Strings

    Equivalent Strings Problem's Link: http://codeforces.com/contest/559/problem/B Mean: 给定两个等长串s1,s2,判断 ...

  9. 有关C#标签Attribute的熟悉

    Attribute 简单用法: 最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAt ...

  10. Java的final关键字详解

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...