$.extend()用自己的语言去理解

一:基础

$.extend( target [, object1 ] [, objectN ] );

将o1和o2内容合并到target中,target可以为{},这样o1和o2.。。。值不变

    例子

var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})

result={name:"Jerry",age:21,sex:"Boy"}



也可以省略target,只能传一个参数o1,即将o1绑到jquery对象本身上去,用于给jquery添加新的自定义函数,

    例子

$.extend(test:function(){
    alert("这就是扩展函数");
});
//调用方法:
$.test();
延伸:$.fn.extend(src)
将src绑到jquery实例对象上
$.fn.extend(text:function(){
    alert("只有jquery实例对象才可以调用额");
});
用法:$("#id").text();


二:进阶

$.extend( [deep ], target, object1 [, objectN ] )

默认deep=false,即非深度拷贝,o1、o2.。。。oN的第一层会添加、覆盖到target,有子对象的直接覆盖,子对象相当于一个值一样

    例子:

var result=$.extend( false, {},
{ name: "John", location:{city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} }
); 
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}

若需要对子对象拷贝,实际上是在拷贝第一层后进入子对象继续拷贝,就像第一层一样,没有的就会加进去,已经有的会覆盖,实际$.extend()就是在进行加钙操作。

    例子

var result=$.extend( true, {},
{ name: "John", location: {city: "Boston",county:"USA"} },
{ last: "Resig", location: {state: "MA",county:"China"} } ); 
result={name:"John",last:"Resig",
location:{city:"Boston",state:"MA",county:"China"}}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值