• 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
  • 相关阅读:
    OleView.exe:查看机器上的COM 组件。
    COM中导出GUID
    进程外组件以及进程间通信方式
    拼接多个 wchar_t *
    wstring to wchar_t*
    BSTR
    GetProcAddress 使用注意事项
    C++和.net的集合类对应
    COM的一些基本概念
    Error Lookup工具
  • 原文地址:https://www.cnblogs.com/douglasvegas/p/4774408.html
Copyright © 2020-2023  润新知