溫馨提示×

溫馨提示×

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

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

js插件 $.extend()與$.fn.extend() 基礎

發(fā)布時間:2020-07-25 08:06:00 來源:網絡 閱讀:610 作者:v512345 欄目:web開發(fā)


插件的理解。$.extend()與$.fn.extend()
    插件開發(fā)包括兩種:1.類級別的插件開發(fā),即$.extend()擴展jquery對象本身;2.對象級別的插件開發(fā),即$.fn.extend()擴展jquery元素集來提供新的方法。
    1.類級別的插件開發(fā)
        1.(function($){
                $.extend({
                    hello:function(){alert("hello world");},
                    world:function(){alert(hello world);}
                })
          })(jQuery)
          調用:$.hello(),$.world()
        2.采用命名空間
          (function($){
                $.myExtend({
                    hello:function(){alert("hello world");},
                    world:function(){alert(hello world);}
                })
          })(jQuery)
          調用:$.myExtend.hello(),$.myExtend.world()
    2.對象級別的插件開發(fā)
        1.(function($){
                $.fn.extend({
                    myAnimate:function(){}
                })
           })(jQuery)
           調用:$("#myAnimate").myAnimate()
        2.(function($){
                $.fn.myAnimate=function(){}
          })(jQuery)
          調用:$("#myAnimate").myAnimate()
    3.$.extend()有兩種用法
        一種是擴展方法,如上述所示。
        另一種是合并對象獲得一個新的對象,$([deep],target,options,defaluts,...),
        例如:
        var settings={validate:false,limit:5,name:"sm"};
        var defaults={validate:true,limit:2}
        var settings=$.extend(settings,defaults);
        結果:settings={validate:true,limit:2,name:"sm"}
        var empty={};
        var options={validate:false,limit:5,name:"sm"};
        var defaults={validate:true,limit:2}
        var settings=$.extend(empty,options,defaults);
        結果:settings={validate:true,limit:2,name:"sm"};
        deep可以為ture或false
        var result={true,{},name:"a",num:3,location:{city:"H",county:"A"},location:{state:"D",county:"CH"}}
        結果:result={name:"a",num:3,location:{city:"H",state:"D",county:"CH"}}
        var result={false,{},name:"a",num:3,location:{city:"H",county:"A"},location:{state:"D",county:"CH"}}
        結果:result={name:"a",num:3,location:{state:"D",county:"CH"}}
    4.匿名函數(最大的用途是創(chuàng)建閉包)
        例如:(function($){})(jQuery)等價于!function(){}(jQuery)<這個用在bootstrp框架中>

向AI問一下細節(jié)

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

AI