本文實(shí)例講述了jQuery.extend 與 jQuery.fn.extend的用法及區(qū)別。分享給大家供大家參考,具體如下:
jQuery是一個(gè)JavaScript類,如$("#input1") 生成一個(gè) jQuery類的實(shí)例。
jQuery為開發(fā)插件提拱了兩個(gè)方法:jQuery.fn.extend()和jQuery.extend()。
1、jQuery.extend()
(1)擴(kuò)展 jQuery 類本身,為jQuery類添加類方法(靜態(tài)方法)
jQuery.extend({ add: function(a, b) { alert(a + b); }});jQuery.add(10,20); //30(2)jQuery.extend(object, object1, [objectN])用一個(gè)或多個(gè)其他對(duì)象來擴(kuò)展一個(gè)對(duì)象,返回被擴(kuò)展的對(duì)象
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()
把對(duì)象掛載到 jQuery 的 prototype 屬性,來擴(kuò)展一個(gè)新的 jQuery 實(shí)例方法,也就是通過這個(gè) extend 添加的新方法,實(shí)例化的 jQuery 對(duì)象都能使用,因?yàn)樗菕燧d在 jQuery.fn 上的方法。
查看jQuery源碼可發(fā)現(xiàn),jQuery.fn = jQuery.prototype。jQuery.fn掛在原型上,由于對(duì)原型的修改會(huì)影響所有實(shí)例,因此fn上的方法會(huì)對(duì)每一個(gè)jQuery實(shí)例有效。
對(duì)jQuery.fn的擴(kuò)展,就是為jQuery類添加成員函數(shù),jQuery類的實(shí)例可以使用這個(gè)成員函數(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ù)(實(shí)例方法),所有jQuery實(shí)例都可以直接調(diào)用(需要使用 $().xxx 調(diào)用)。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery切換特效與技巧總結(jié)》、《jQuery遍歷算法與技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選