浅拷贝,仅仅是指针给了另一个对象
var obj1 = obj;
console.log(obj1);
obj1.name = '小辣椒';
console.log(obj);
//
深拷贝:两个对象之间没有任何关系
方法1
通过json实现
注意json实现,会造成方法丢失
var obj1 = JSON.stringify(obj);
obj1 = JSON.parse(obj1);
console.log(obj1);
obj1.name = '小番茄';
//obj感受不到变化
console.log(obj);
方法2
通过for-in遍历循环,实现
var obj1 = {};
for (var attr in obj) {
obj1[attr] = obj[attr]
}
console.log(obj1);
obj1.say()
修改obj1
obj1.name = '哈希';
console.log(obj);
方法3
使用Object.assign()
var obj1 = {};
//将obj合并到obj1上
Object.assign(obj1, obj);
console.log(obj1);
obj1.age = 66;
console.log(obj);