当前位置: 代码迷 >> .NET相关 >> $.extend()跟$.fn.extend()区别
  详细解决方案

$.extend()跟$.fn.extend()区别

热度:448   发布时间:2016-04-24 02:48:25.0
$.extend()和$.fn.extend()区别

$.extend()和$.fn.extend()用法和区别:

在自己制作插件的时候会经常用到$.extend()和$.fn.extend()两个函数,无论从外观还是作用都非常的类似,但是实际上它们的区别是巨大的,下面就简单介绍一下它们的区别是什么。

在javascript中,没有尽管没有类这个概念,但是作为一门面向对象的语言,其实是有着类似于类的实际应用,那么从标准面向对象的概念来说,jQuery就是一个封装好了的jQuery类,那么通过选择器获得的就是jQuery对象实例。

一.$.extend():

此方法是用来扩展jQuery类,此方法是全局性,直接用jQuery类即可引用,例如:

$.extend({minValue:function(a,b){return a<b?a:b;}})$.minValue(5.6);

也可以把这类函数称作为工具函数,不直接操作DOM元素,而是操作Javascript的非元素对象,或者执行其他非对象的特定操作。
二.$.fn.extend():
此方法则是用来扩展jQuery的实例方法,也就是说jQuery类的实例对象可以调用此函数,代码如下:

<script type="text/javascript">$(document).ready(function(){   $.fn.extend({   theAlert:function(){      alert("自定义的函数");    }  })  $("thediv").theAlert()})</script></head><body>  <div id="thediv">按钮</div></body></html>

以上代码通过$.fn.extend()方法为jQuery扩展一个实例方法,那么就必须要用对象实例来调用此方法,$("thediv")就是一个对象实例,这样它就可以调用添加的方法,当然在实际的开发中,几乎不可能有这么简单的例子,这里只是讲述一下原理。

原文地址是:http://www.51texiao.cn/jqueryjiaocheng/2015/0504/679.html