- 第一种方法:
var stu = obj ; //浅拷贝:使用的是同一个地址
stu . age = 15 ;
console . log ( obj . age );
//深拷贝
var stu2 = Object . assign ({}, obj ); //对象的合并;和一个空对象
stu2 . sex = "女" ;
console . log ( stu2 )
console . log ( obj )
运行结果:
(已经改变值)
15
{ name: 'xiaoming', age: 15, sex: '女', getName: [Function: getName] }
{ name: 'xiaoming', age: 15, sex: '男', getName: [Function: getName] }
- 第二种方法:
// 判断2个相同内容的对象
var obj1_str = JSON . stringify ( obj1 ); //序列化:将对象转化成JSON字符串
var obj2_str = JSON . stringify ( obj2 );
//反序列化,将JSON字符串转为对象
var obj3 = JSON . parse ( JSON . stringify ( obj1 )); //深拷贝