$.extend()和$.fn.extend()區別

admin發表於2017-12-23

製作外掛的時候經常用到$.extend和$.fn.extend兩個方法,外觀和作用都非常的類似,實際上它們區別是巨大的,下面簡單介紹一下它們的區別。

JavaScript中儘管沒有類這個概念,但作為一門物件導向的語言,其實有著類似於類的實際應用;從標準物件導向的概念來說,jQuery就是一個封裝好了類,通過選擇器獲得的是jQuery物件例項。

一.$.extend():

此方法是用來擴充套件jQuery類;全域性性方法,直接用jQuery類引用即可。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
$.extend({minValue:function(a,b){return a<b?a:b;}})
$.minValue(5.6);

也可以將這類方法稱作為工具方法。

更多$.extend()方法內容參閱$.extend()方法一章節。

二.$.fn.extend():

此方法用來擴充套件jQuery類的例項方法,程式碼如下:

[HTML] 純文字檢視 複製程式碼
<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")就是一個物件例項,這樣它就可以呼叫新增的方法,當然在實際的開發中,幾乎不可能有這麼簡單的例子,這裡只是講述一下原理。

相關文章