jQuery extend函数详解
2014-05-07 13:17
489 查看
一 jQuery的扩展方法原型是
$.extend(dest,src1,src2,src3);
含义是将src1,src2,src3合并到dest中,返回值为合并后的dest,该方法合并后,dest的结构被修改.
结果:Object { type="person", name="lisi", age=12, sex='male',class="class1"}
如果不想修改dest的结构,可以使用一个空对象({})代替
二 省略dest参数
$.extend()方法原型中的dest参数是可以忽略的,如果忽略,则该方法只有一个src参数,而且是将src合并到调用extend方法的对象中去。
1 $.extend()方法将src合并到jquery的全局对象中去。
2 $.fn.extend()该方法将src合并到jquery的实例对象中去.
三 jquery的extend方法还有一个重载原型
extend(boolean,dest,src1,src2,src3);
第一个参数boolean代表是否进行深度拷贝,其余参数如上所述
result1 :
location Object { city="NewYork", country="USA", sex="Male"}
name"Lucy"
retuslt2:
locationObject { city="NewYork", country="USA"}
name"Lucy"
可以看到当bool值为true的时候,子对象也会合并,而当bool值为false的时候,子对象不会合并,只是进行了替换。
$.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 函数详解
- JavaScript Core -- 函数详解(作用域&&参数值传递&&this关键字&&函数声明)
- linux中fork()函数详解(原创!!实例讲解)
- php 反斜杠处理函数addslashes()和stripslashes()实例详解
- unicode ascii 互转 函数 C实现 MultiByteToWideChar/WideCharToMultiByte 详解
- MySQL常用时间函数详解(推荐)
- fork编程之exec函数详解
- linux send和recv函数详解
- C++——4个默认成员函数详解
- 悲剧的斯坦福算法入门Assignment 1……fin.eof 函数详解
- WScript.Shell对象的 run()和exec()函数使用详解
- ThinkPHP I()函数详解
- Linux中fork()函数详解 分类: Ubuntu学习笔记 2015-07-27 13:56 9人阅读 评论(0) 收藏
- cocos2dx中lua注册事件函数详解
- Python学习之延时回调普通函数详解
- popen()函数详解
- PHP的in_array() 函数使用详解
- 常见linux判断、循环语句及函数详解
- Linux进程函数详解
- altera的fpga的ip库中算术函数详解,megafunction中的arithmetic的函数 (转,分享)