$.fn.extend详解

本文详细解释了jQuery中$.extend()和$.fn.extend()的区别及用法,包括如何扩展全局对象、实例对象以及命名空间,并通过示例演示了如何使用这些函数进行对象合并。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看别人的js代码,看到$.fn.extend,不懂事啥意思,百度学习了下。这里做个小总结。

首先,.extend.fn.extend都是用来扩展jQuery的。区别是.extendJQuery.fn.extend扩展的是JQuery的实例对象。

Demo说话,

//扩展到全局Jquery对象
    $.extend({
        hello:function(){
            alert("hello");
        }
    });

//扩展到Jquery实例对象
    $.fn.extend({
        hello1:function(){
            alert("hello-$.fn.extends");
        }
    });

//扩展到命名空间my
$.extend({my:{
    hello2:function(){
        alert("hello-扩展到命名空间my");
    }
}});

 $.hello();//全局对象调用
 $('#showOrder').hello1();//实例对象调用
 $.my.hello2();//通过命名空间调用

另外,补充。$.extend(result,item1,item2),将item1和item2合并到result中,会破坏result结构。

                  var result = $.extend({},item1,item2),将item1和item2合并后的结果赋给result。

                  var result = $.extend(true,item1,item2),深拷贝item2结果到item1中,子项相同属性覆盖,不同属性合并。

                  var result = $.extend(false,item1,item2),浅拷贝item2到item1中,子项相同则完全覆盖。


         var item={name:“olive”,age:23,address{provice:”河南”,city:”郑州”}};

         var item1={sex:”girl”,address{city:”北京”}};

         var result=$.extend(true,item,item1);

         var result1=$.extend(false,item,item1);

         结果:

         Result={name:“olive”,age:23,sex:”gril”,address:{provice:”河南”,city:”北京”}};

         Result1={name:“olive”,age:23,sex:”gril”,address:{ city:”北京”}};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值