js对象赋值会影响原对象

今天碰一个js的坑,记录下,下次不能掉坑里。

  • 现象:直接用=的方式把一个对象赋值给另一个对象,会导致修改新对象时,原对象也发生变化

    var obj1 = {'name': '1111'};
    var obj2 = obj1;
    obj2.name = '2222';
    console.log(obj1.name); //'2222'
  • 原因:JavaScript 中对象的赋值是默认引用赋值的(两个对象指向相同的内存地址)

解决方法网上很多:

https://segmentfault.com/a/1190000018347348?utm_source=tag-newest

你可能感兴趣的:(js)