相等的两个对象其中一个属性值修改,会影响另一个值;解决方法

DOCTYPE html >
< html lang= "en" >
< head >
< meta charset= "UTF-8" >
< meta name= "viewport" content= "width=device-width, initial-scale=1.0" >
< meta http-equiv= "X-UA-Compatible" content= "ie=edge" >
< title >Document title >
head >
< body >
< script >
var ss={name: "李四",sex: "男"};
var tt=JSON.parse(JSON.stringify(ss));
ss.name= "张三";
console.log(ss);
console.log(tt);
< / script >
body >
html >
 

 

 

原因:把一个对象赋值给另一个对象会指向同一个内存地址,这个是因为两个对象共同指向的一个内存地址

思路:对象深拷贝转字符串然后转对象

 

你可能感兴趣的:(前端开发,JavaScript)