首页 > Web开发 > 详细

jquery深拷贝和浅拷贝

时间:2016-11-03 19:02:47      阅读:212      评论:0      收藏:0      [点我收藏+]
var obj1 = { a: 1 };
var obj2 = { b: {bbb: 2} };
function Clone(){//浅拷贝 拷贝到obj1值会被改变 在一个栈中
$.extend(obj1, obj2);
console.log(‘clone result, obj1.b.bbb: ‘ + obj1.b.bbb);//2
obj2.b.bbb = 1;
console.log(‘clone result, obj1.b.bbb: ‘ + obj1.b.bbb);//1
}
function deepClone(){//深拷贝 拷贝到obj1值不会被改变 在新栈中
$.extend(true, obj1, obj2);
console.log(‘deep result, obj1.b: ‘ + obj1.b);//2
obj2.b = 1;
console.log(‘deep result, obj1.b: ‘ + obj1.b);//2
}


jQuery源代码解析:
一、深拷贝,当所复制的对象是数组或者对象时,就应该递归调用extend:

技术分享

 二、浅拷贝:

  技术分享

 

 

jquery深拷贝和浅拷贝

原文:http://www.cnblogs.com/babyfacer/p/6027578.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!