• json深拷贝


    function recursiveDeepCopy(o) {
        var newO, i;
      
        if (typeof o !== 'object') {
          return o;
        }
    
        if (!o) {
          return o;
        }
      
        if ('[object Array]' === Object.prototype.toString.apply(o)) {
          newO = [];
          for (i = 0; i < o.length; i += 1) {
            newO[i] = recursiveDeepCopy(o[i]);
          }
          return newO;
        }
      
        newO = {};
        for (i in o) {
          if (o.hasOwnProperty(i)) {
            newO[i] = recursiveDeepCopy(o[i]);
          }
        }
        return newO;
      }
    function jsonDeepCopy(o) {
        return JSON.parse(JSON.stringify(o));
    }
    function objectClone(o) {
          var r, f;
          if( o == null || typeof(o) != 'object' ) return o;
          f = function() {}; f.prototype = o;
          r = new f;
          for( var i in o) r[i] = objectClone(o[i]);
          return r;
      }
    function recursiveDeepCopy2(o) {
        var newO,  i;
      
        if (typeof o !== 'object') {  return o; }
        if (!o) {  return o;  }
      
        if ( o.constructor === Array ) {
          newO = [];
          for (i = 0; i < o.length; i += 1) {
            newO[i] = recursiveDeepCopy2(o[i]);
          }
          return newO;
        }
      
        newO = {};
        for (i in o) {
            newO[i] = recursiveDeepCopy2(o[i]);
        }
        return newO;
      }
  • 相关阅读:
    angular4-http
    angular4-表单
    angular4-事件绑定
    angular4-常用指令
    angular4-自定义组件
    sea.js与require.js的区别
    OC面向对象下之协议
    OC基本程序和面向对象
    OC面对对象下之类别
    Foudation框架之字典
  • 原文地址:https://www.cnblogs.com/KruceCoder/p/10550917.html
Copyright © 2020-2023  润新知