浅拷贝:
var obj = { id: 1, name: 'andy', msg: { age: 18 }, color: ['pink', 'red'] } var o1 = {} Object.assign(o1, obj) console.log(o1);深拷贝:
var o = {} function deepCopy(target, source) { //封装函数 for (var k in source) { var item = source[k] //获取属性 if (item instanceof Array) { //判断这个属性是否属于数组 target[k] = [] deepCopy(target[k], item) } else if (item instanceof Object) { //判断这个属性是否属于对象 target[k] = {} deepCopy(target[k], item) } else { //属于简单类型 target[k] = item } } } deepCopy(o, obj) console.log(o);