js深度克隆

来源:互联网 发布:手机角度水平仪软件 编辑:程序博客网 时间:2024/06/05 20:53
        deepClone: function(original, target){ // 深度克隆            var target = target || {};// 如果target为undefined或没传参,设置空对象            for(var prop in original){// 遍历原对象                if(original.hasOwnProperty(prop)){// 只拷贝对象内部,不考虑原型链                    if(typeof original[prop] === 'object'){// 引用值                        if(Object.prototype.toString.call(original[prop]) === '[object Array]'){                            target[prop] = [];// 处理数组引用值                        }else{                            target[prop] = {};// 处理对象引用值                        }// 可以用三目运算符                        _a.deepClone(original[prop],target[prop]);// 递归克隆                    }else{// 基本值                        target[prop] = original[prop];                    }                }            }            return target;        }

0 0