// 深拷贝
deepCopy (obj) {
// 判断是基础数据类型 还是 引用数据类型 基础数据类型直接返回
if (!isObject(obj)){
return obj;
};
// 判断是否是日期类型 日期类型默认前延 8个小时 加上8个消失
if(obj instanceof Date){
return new Date(new Date(obj).valueOf() + (8 * 3600 * 1000));
}
// 判断是对象还是数组
var result = Array.isArray(obj) ? [] : {};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object' && obj[key]!==null) {
result[key] = this.deepCopy(obj[key]); //递归复制
} else {
result[key] = obj[key];
}
}
}
return result;
function isObject (obj) {
return typeof obj == 'object' && obj !== null;
}
}