jquery深度克隆javascript对象

利用jquery 的extend方法:
extend([param1,]obj1,obj2); 
说明:1.>将对象obj2复制到obj1中

      2>param1,为布尔类型,true 表示深度复制 
eg:
  1.  var object1 = {
  2. apple: 0,
  3. banana: {weight: 52, price: 100},
  4. cherry: 97
  5.    };
  6.     var object2 = {
  7. banana: {price: 200},
  8. durian: 100
  9.    };
  10.     $.extend(true,object1, object2);//深度复制,要复制以个新对象,可将object1写成{}
  11.     object2.banana.price=100;//修改值
  12. alert(object1.banana.price)//深度复制,object1中的值没有改变

javascript 实现:

  1.     function cloneObject(obj) {
  2. var clone = {};
  3.        for(var i in obj) {
  4.  if(typeof(obj[i])=="object")
  5.   clone[i] = cloneObject(obj[i]);      
  6.  else
  7. clone[i] = obj[i];
  8.   }
  9.   return clone;   
  10. }
eg:
    1.     function cloneObject(obj) {
    2. var clone = {};
    3.        for(var i in obj) {
    4.  if(typeof(obj[i])=="object")
    5.     var object1 = {
    6. apple: 0,
    7. banana: {weight: 52, price: 100},
    8. cherry: 97  
    9.  };
    10.     var  obj= cloneObject(object1 );
    11. object2.banana.price=200;//修改值
    12.     alert( obj.banana.price )//仍然输出100
原文地址:https://www.cnblogs.com/douglasvegas/p/4774408.html