为了账号安全,请及时绑定邮箱和手机立即绑定

js插件 $.extend()与$.fn.extend() 基础

标签:
JavaScript


插件的理解。$.extend()与$.fn.extend()
    插件开发包括两种:1.类级别的插件开发,即$.extend()扩展jquery对象本身;2.对象级别的插件开发,即$.fn.extend()扩展jquery元素集来提供新的方法。
    1.类级别的插件开发
        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.对象级别的插件开发
        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.匿名函数(最大的用途是创建闭包)
        例如:(function($){})(jQuery)等价于!function(){}(jQuery)<这个用在bootstrp框架中>

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消