一 jQuery的扩展方法原型是

$.extend(dest,src1,src2,src3);

含义是将src1,src2,src3合并到dest中,返回值为合并后的dest,该方法合并后,dest的结构被修改.

<script>
var dest = {'type':'person'}
var src1 = {'name':'lisi','age':12}
var src2 = {'sex':'male'}
var src3 = {'class':'class 1'}
var result = $.extend(dest,src1,src2,src3);
console.log(result);
</script>

结果:Object { type="person", name="lisi", age=12, sex='male',class="class1"}

如果不想修改dest的结构,可以使用一个空对象({})代替

<script>
var dest = {'type':'person'}
var src1 = {'name':'lisi','age':12}
var src2 = {'sex':'male'}
var src3 = {'class':'class 1'}
var result = $.extend({},src1,src2,src3);
console.log(result);
</script>

二 省略dest参数

$.extend()方法原型中的dest参数是可以忽略的,如果忽略,则该方法只有一个src参数,而且是将src合并到调用extend方法的对象中去。

1 $.extend()方法将src合并到jquery的全局对象中去。

<script>
$.extend({
hello:function(){
alert('将src合并到jquery的全局对象中,调用方式为$.hello()');
}
})
$.hello();
</script>

2 $.fn.extend()该方法将src合并到jquery的实例对象中去.

<div id="div">test demo</div>
<script>
$.fn.extend({
hello:function(){
alert('将src合并到jquery的实例对象中,调用方式为$("#div").hello()');
}
})
$("#div").hello();
</script>

三 jquery的extend方法还有一个重载原型

extend(boolean,dest,src1,src2,src3);

第一个参数boolean代表是否进行深度拷贝,其余参数如上所述

var src1 = {name:'John',location:{city:'Bj',country:'China',sex:'Male'}};
var src2 = {name:'Lucy',location:{city:'NewYork',country:"USA"}};
var result = $.extend(true,{},src1,src2);
var result2 = $.extend(false,{},src1,src2);

result1 :

location   Object { city="NewYork", country="USA", sex="Male"}

name"Lucy"

retuslt2:

locationObject { city="NewYork", country="USA"}

name"Lucy"

可以看到当bool值为true的时候,子对象也会合并,而当bool值为false的时候,子对象不会合并,只是进行了替换。

jQuery extend函数详解的更多相关文章

  1. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  2. jQuery.extend 函数详解

    JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

  3. [转载]jQuery.extend 函数详解

    JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

  4. (转)jQuery.extend 函数详解

    Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解       JQuery的extend扩展方法: Jquery的扩展方法extend ...

  5. 【转】jQuery.extend 函数详解

    原文地址:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html JQuery的extend扩展方法:      Jq ...

  6. [转]jQuery.extend 函数详解

    JQuery的extend扩展方法:      Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解.      一.Jquery的扩展方 ...

  7. jQuery extend方法详解

    先说个概念的东西: jQuery为开发插件提拱了两个方法,分别是: $.fn.extend(item):为每一个实例添加一个实例方法item.($("#btn1") 会生成一个 j ...

  8. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  9. jQuery.ready() 函数详解

    jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...

随机推荐

  1. hardware_hp刀片服务器安装windows 2008系统配置

    2012年10月26日星期五 第一步. 看刀片机柜的后的OA地址 点击 OK 查看 Actlve OA 例如: 192.168.254.31 l 第二步: 连接PC 到左侧第一个接口 修改本机ip为同 ...

  2. 学SpringMVC

    http://jinnianshilongnian.iteye.com/blog/1593441

  3. UITableView Cell 弹簧动画效果

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath ...

  4. SQL字符串处理函数

    字符串函数对二进制数据.字符串和表达式运行不同的运算.此类函数作用于CHAR.VARCHAR. BINARY. 和VARBINARY 数据类型以及能够隐式转换为CHAR 或VARCHAR的数据类型. ...

  5. ASP.NET 依赖注入。

    ASP.NET 依赖注入. http://www.it165.net/pro/html/201407/17685.html 我在网上看到了这篇文章,这边文章主要说的方法就是通过读取配置文件来解决依赖注 ...

  6. SQL点滴21—几个有点偏的语句

    原文:SQL点滴21-几个有点偏的语句 SQL语句是一种集合操作,就是批量操作,它的速度要比其他的语言快,所以在设计的时候很多的逻辑都会放在sql语句或者存储过程中来实现,这个是一种设计思想.但是今天 ...

  7. 一个只能用在Win下的密码验证函数(显示星号,可删除)

    以前做小程序时图好玩在网上找的代码.输入的密码会以星号显示出来,并且输入错了可以删除.因为用了专有库函数,所以只能在Windows平台使用,少用为好,不过可能还有点用.嗯…就这样了 #include ...

  8. Xamarin移动跨平台解决方案是如何工作

    Xamarin移动跨平台解决方案是如何工作的? 概述 上一篇 C#移动跨平台开发(1)环境准备发布之后不久,无独有偶,微软宣布了开放.NET框架源代码并且会为Windows.Mac和Linux开发一个 ...

  9. 实例学习SSIS(三)--使用包配置

    原文:实例学习SSIS(三)--使用包配置 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)- ...

  10. 【jar包】Android——eclipse共享library以及导出jar包

    android的apk在在eclipse上进行开发的时候,有时候需要import其它包中的一些class,正常的方法就是在java build path中library 中添加 jar 包! 转载注明 ...