标题:
js引用类型赋值不改变原对象值
[打印本页]
作者:
xiexie
时间:
2023-12-28 13:34
标题:
js引用类型赋值不改变原对象值
在JS中对象的赋值是默认引用赋值的,如果改变了赋值对象原对象也会跟着改变,如果想要复制赋值,那么就需要重新分配对象:
var a = {'name': 'zhangsan'};
var b = Object.assign({}, a);
b.name = 'lisi';
这样子就不会改变原对象下一层的值,但如果对象里面还存在对象
那么下一层在下一层还会改变原对象,有个最简单暴力的处理 两个对象的关联性的问题:
obj1 = { a: 0 , b: { c: 0}};
let obj3 = JSON.parse(JSON.stringify(obj1)); //这个管用
obj1.a = 4;
obj1.b.c = 4;
这样子原有对象里的对象就不会被改变了!
欢迎光临 PHP开发笔记 (http://phpvi.com/)
Powered by Discuz! 6.1.0