实现对象的深拷贝

 function deepCopy(obj){
            var o;
            switch(typeof obj){
            case 'undefined': break;
            case 'string'   : o = obj + '';break;
            case 'number'   : o = obj - 0;break;
            case 'boolean'  : o = obj;break;
            case 'object'   :
                if(obj === null){
                    o = null;
                }else{
                    if(obj instanceof Array){
                        o = [];
                        for(var i = 0, len = obj.length; i < len; i++){
                            o.push(deepCopy(obj[i]));
                        }
                    }else{
                        o = {};
                        for(var k in obj){
                            o[k] = deepCopy(obj[k]);
                        }
                    }
                }
                break;
            default:
                o = obj;break;
            }
            return o;
        }

  

posted @ 2018-09-25 21:00  饭饭大人  阅读(168)  评论(0编辑  收藏  举报