溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery.extend 與 jQuery.fn.extend方法的區(qū)別是什么

發(fā)布時間:2021-01-12 16:25:50 來源:億速云 閱讀:157 作者:Leah 欄目:web開發(fā)

這篇文章給大家介紹jQuery.extend 與 jQuery.fn.extend方法的區(qū)別是什么,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

jQuery是一個JavaScript類,如$("#input1") 生成一個 jQuery類的實例。

jQuery為開發(fā)插件提拱了兩個方法:jQuery.fn.extend()jQuery.extend()

1、jQuery.extend()

(1)擴展 jQuery 類本身,為jQuery類添加類方法(靜態(tài)方法)

jQuery.extend({
  add: function(a, b) { alert(a + b); }
});
jQuery.add(10,20); //30

(2)jQuery.extend(object, object1, [objectN])用一個或多個其他對象來擴展一個對象,返回被擴展的對象

var obj = { name: 'Alice', age: 25, career: "teacher" };
var object = { name: 'Bruce', career: "doctor" };
jQuery.extend(obj, object); //obj = { name: 'Bruce', age: 25, career: "doctor" }

2、jQuery.fn.extend()

把對象掛載到 jQuery 的 prototype 屬性,來擴展一個新的 jQuery 實例方法,也就是通過這個 extend 添加的新方法,實例化的 jQuery 對象都能使用,因為它是掛載在 jQuery.fn 上的方法。

查看jQuery源碼可發(fā)現(xiàn),jQuery.fn = jQuery.prototype。jQuery.fn掛在原型上,由于對原型的修改會影響所有實例,因此fn上的方法會對每一個jQuery實例有效。

jQuery.fn的擴展,就是為jQuery類添加成員函數(shù),jQuery類的實例可以使用這個成員函數(shù)。

jQuery.fn.extend({
   clickFunc: function() {
      $(this).click(function(){
         alert($(this).val());
      });
   }
});
$("#input1").clickFunc(); //輸出文本框的文本

3、jQuery.extend()jQuery.fn.extend()的區(qū)別

jQuery.extend()是為jQuery類添加類方法(靜態(tài)方法),需要通過jQuery類來調(diào)用(直接使用 $.xxx 調(diào)用);

jQuery.fn.extend()是為jQuery類添加成員函數(shù)(實例方法),所有jQuery實例都可以直接調(diào)用(需要使用 $().xxx 調(diào)用)。

關于jQuery.extend 與 jQuery.fn.extend方法的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI