function deepClone(obj) {
// 对函数的处理
if (typeof obj === 'function') return eval(obj.toString())
// 对时间的处理
if (Object.prototype.toString.call(obj) === [object Date]) return new Date(obj.getTime())
// 对简单类型的处理
if (typeof obj !== 'object') return obj
// 对数组和对象的处理
var isArray = Array.isArray(obj)
var newObj = isArray ? [] : {}
// 进行循环遍历
if(isArray) {
for(var i = 0; i < obj.length; i++) {
newObj[i] = deepClone(obj[i])
}
}else {
for (const key in obj) {
if (object.hasOwnProperty(key)) {
newObj[key] = deepClone(obj[key])
}
}
}
return newObj
}