来,先看问题。

        let obj1 = {name: '张三',age: 18,sex: '男'}let obj2 = obj1console.log('obj2:', obj2)obj2.age = 22console.log('obj2:', obj2)console.log('obj1:', obj1)

打印结果:

可以发现,obj1的age也跟着发生了变化,这是因为obj2 = obj1这种赋值的方法是浅拷贝,原来的值发生变化,被赋值的值也会随之发生变化。那么应该怎么赋值后 改变obj2时不会改变obj1的值呢。

赋值时先把obj1转化为JSON字符串,然后再转化为JSON对象再赋值给obj2即可。

let obj2 = obj1

改为

let obj2 = JSON.parse(JSON.stringify(obj1))

即可,再看打印结果。

问题解决啦!

js赋值后 改变现有数据会修改原来的数据的解决办法相关推荐

  1. js赋值后 改变现有数据会修改原来的数据

    看代码: let obj1 = {name: '张三',age: 18,sex: '男'}let obj2 = obj1console.log('obj2:', obj2)obj2.age = 22c ...

  2. [前台]---js重复上传一张图片两次,第二次失败的解决办法和思路

    js重复上传一张图片两次,第二次会失败,解决办法就是修改input的value值. 先上代码: <input style="display:none" type=" ...

  3. js文件中发送ajax请求,ulr路径不起作用的解决办法

    前言: 在写Python项目的时候,单独的js文件发送ajax请求,并不起效果并且提示路径错误 错误原因分析: {% url 'myadmin_updategoodsgrade' %} # 是模板中的 ...

  4. Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法

    Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法 KEIL AC5到AC6需要注意的地方 从AC5移植到AC6 解决流程 关键步骤 最近同事咨询改用keil的最新版本编译器编译原来的 ...

  5. NRF51822 烧录bootloader 后,需要OTA一次,才能启动App解决办法

    Nordic 51822 烧录bootloader 后,需要OTA一次,才能启动App解决办法 使用nrfjprog烧写寄存器标志位 nrfjprog --memwr 0x3FC00 --val 0x ...

  6. 小米Pro15安装Ubuntu20.04LTS后Window10的时间提前了8小时 , 的解决办法 2021-03-04 16:50

    小米Pro15安装Ubuntu20.04LTS后Window10的时间提前了8小时 小米Pro15安装Ubuntu20.04LTS后Window10的时间提前了8小时 问题 原因 解决办法 总结 问题 ...

  7. SqlService基础一篇搞定(建库建表、插入数据、修改和删除数据、基础查询、条件查询、模糊查询、聚合函数、分组查询、多表查询)

    SqlService基础知识总汇 前言 一.SQLSERVER建库建表 1.检查数据库名是否存在 2.创建数据库 3.建表 4.修改表结构 5.删除添加约束 二.SQLSERVER插入数据 1.向部门 ...

  8. 如何修改游戏服务器端的数据,如何修改网络游戏服务器数据

    如何修改网络游戏服务器数据 内容精选 换一换 排查安全组规则.排查网络ACL.排查弹性云服务器内部网卡信息.排查不通端口.相同,请查看同一个VPC内的两台弹性云服务器无法互通或者出现丢包等现象时,如何 ...

  9. excel服务器数据同步修改,excel表格数据同步修改-关于excel不同表格(不同工作簿)之间数据同步修改......

    EXCEL表格文档如何数据同步更新 excel中让两份表格实现数据同步的具体步骤如下: 首先打开计算机,在计算机桌面找到excel软件,鼠标左键双击excel的快捷方式以打开软件.然后打开需要进行数据 ...

最新文章

  1. git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)(解决办法)
  2. linux pci 寄存器,Linux 内核 标准 PCI 配置寄存器
  3. Integer对象范围(-128-127)之间(Integer. valueOf()方法)
  4. Java中的三态布尔值
  5. 数据多重共线性_多重共线性对您的数据科学项目的影响比您所知道的要多
  6. POJ 3694 Network
  7. win8服务器无法安装win7系统安装,win8怎么安装win7 win8改win7教程详解【图文】
  8. 【C语言重点难点精讲】C语言中的重要符号
  9. hadoop运行wordcount实例,hdfs简单操作
  10. java强制关闭远程桌面_elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接...
  11. Matlab--Monte Carlo simulation
  12. 网站集搜索中心的搜索页面对应路径:
  13. java io .log_namenode无法启动:java.io.FileNotFoundException: .log (Permission denied)
  14. 计算机图形学笔记 (第一周)
  15. 【探路者】第三周立会报告5(总第17次)
  16. 如何查看系统中的木马
  17. 计算机用户无法删除文件,教你几招解决电脑上的文件夹删不掉怎么办?
  18. OpenAI Whisper论文笔记
  19. 我的健康我做主”芋头有奇特功效-抗…
  20. Android中TextView加横线的属性

热门文章

  1. Git与SVN的区别Git常用命令
  2. flutter 加载图片
  3. 5分钟学会神器frp内网穿透
  4. DNSPod十问周康:如何成为办公硬件领域的乔布斯?
  5. android 制作用户头像,android 切换头像功能实现
  6. golang笔记16--go语言并发版爬虫
  7. Angular4 - Rxjs基础
  8. 手动一步一步来制作备份Raspberry Pi树莓派SD卡的img映像文件(不用dd命令,已测试通过)
  9. Windows Mobile 开发总结
  10. SpringBoot @ManyToOne @OneToMany JoinColumn mappedBy