jQuery中的"$.extend()"和"$.fn.extend()"的区别:

jQuery中的’$'和"$.fn"的区别:

新手上路,最近在学前端的一些知识。在一个项目中看到这两个符号,后来上网查了一下,下面将这两个区别简单写一下。

这两个都是为jQuery赋予方法,但是他们赋予的方法有个本质上的区别:

  1. $.extend(也可以写成jQuery.extend()),这是拓展jQuery本身的方法。也就是说,只要我们用这个拓展方法,那么这个方法,可以不通过对象直接使用。
 <script type="text/javascript">
    jQuery.extend({
    dong:function(){
      alert('dong!');
    }}
    );
  </script>

上面这个方法,我们可以直接通过$.dong直接使用。这和对象没有一点关系,这种拓展的方法是jQuery本身的方法。

  1. $.fn.extend(),这个拓展的是jQuery.fn的方法。
    在本质上,jQuery.fn=jQuery.prototype。所以jQuery.fn.extend拓展的是jQuery对象(原型的)方法。
 <script type="text/javascript">
    $.fn.extend({
    dong:function(){
      alert('dong!');
    }}
    );
  </script>
<body>
<div></div>
<script type="text/javascript">
$(function(){
$('div').dong();
})
</script>
</body>

如上,这次$.fn.extend()拓展的是一个对象方法,我们必须通过对象才能够调用这个方法。

以上就是这两者的区别。

猜你喜欢

转载自blog.csdn.net/dh12313012/article/details/84644260
今日推荐