var obj1 = {
name: 'SpawN',
age: 26,
job: 'FEer',
colors: ['green', 'red']
}
// 赋值
// var obj2 = obj1
// 浅拷贝
// let obj2 = {}
// for (let i in obj1) {
// if (obj1.hasOwnProperty(i)) {
// obj2[i] = obj1[i]
// }
// }
// 浅拷贝
// let obj2 = Object.assign({}, obj1)
// 深拷贝 hack 方法
// var obj2 = JSON.parse(JSON.stringify(obj1))
// 深拷贝
function deepCopy (obj) {
if (typeof obj !== 'object') return
var newObj = obj instanceof Array ? [] : {}
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = typeof obj[key] === 'object' ? arguments.callee(obj[key]) : obj[key]
}
}
return newObj
}
网友评论