写了个深拷贝
数据
let t = {
a: 1,
b: {
b1: 1,
b2: {
bb1: 'abc'
}
},
c: [1, 2, 3],
fn: function() {console.log('我是函数啊!')}
}
深拷贝方法
function deepclone(obj, newObj) {
for (let key in obj) {
if (Object.prototype.toString.call(obj[key]) === '[object Object]') {
newObj[key] = {}
deepclone(obj[key], newObj[key])
} if (Object.prototype.toString.call(obj[key]) === '[object Array]') {
newObj[key] = []
deepclone(obj[key], newObj[key])
} else {
newObj[key] = obj[key]
}
}
}
调用
// 新对象
let _t = {}
deepclone(t, _t)