jQuery_extend()参数

 我们在处理插件参数的接收上,经常使用的是jQuery()方法。extend方法传递单个对象的情况下,这个对象会合并到jQuery身上,而extend方法传递一个及一个以上的参数时,他会将所有的参数合并到第一个参数里去。
注意:如果对象中有同名属性时,合并的时候,后面会覆盖前面的。类似于java中的重写(是类似,不是重写)。

1. jQuery扩展方法原型
<1>extend(dest, src1, src2, src3)
这个函数的作用是将src1、src2、src3合并到dest中,返回值为合并后的dest。这个方法改变了dest的结构。
<2>var newSrc = $.extend({}, src1, src2, src3)
这个方法是为了解决我们有时候需要将src1、src2和src3合并起来,但却又不想改变dest结构的需求。我们直接将一个空对象{}看做dest,然后将得到的结果赋给newSrc。

2. 省略dest参数
 通常情况下,我们的dest参数可以被省略掉。如果省略了dest参数,那么extend方法就只能有一个参数,其函数的作用是将src合并到调用extend方法的对象中(也被称为extend原型对象)去。
<1>$.extend(src)
该方法就是将src合并到jQuery的全局对象中(类似静态方法)。

<2>$.fn.extend(src)
该方法就是将src合并到jQuery的实例对象中去。
<3>$.extend({
 net:{}
});

该方法的作用是在jQuery全局对象中扩展一个net命名空间。
<4>$.extend($.net,{
 hello:function(){alert(‘hello’);}
})

该方法的作用是将hello方法扩展到之前扩展的jQuery的net命名空间中去。

3. extend方法的重载原型
$.extend(boolean, dest, src1, src2, src3, …)
第一个参数boolean决定是否进行深层拷贝,其余的参数与之前介绍的功能一样。

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

//如果boolean为true,是深层拷贝,那么result的结果为
result={
    name:"John",
    last:"Resig",
    location:{
        city:"Boston",
        state:"MA",
        county:"China",
    }
}
//如果boolean为false,是浅拷贝,那么result的结果为
result={
    name:"John",
    last:"Resig",
    loaction:{
        state:"MA",
        county:"China"
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值