首页 > 原创文章 > 软件开发 > 查看文章

js复制对象改变原值的解决办法

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-05-25 10:50 浏览: 2332 IP属地: 深圳
点击阅读全文

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:

let old={
    "a":1,
    "b":2
}
let new=old;
new['c']=3;

这个时候你会发现,不但new的c=3,old也有了c=3的键值,这个问题是怎么回事呢?

其实我们不必纠结为什么,知道怎么解决就可以了,用下边的方法:

let new=Object.assign({},old);

这样写,就不会影响原对象,完美解决!

相关文章

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_...

在vs code中调试Deno

在vscode中,可以通过配置.vscode/launch.json来debugdeno项目,具体方法如下:1.创建.vscode/launch.json;2.找到<entry_point ,替换为你的script脚本;3.点击F...

fastadmin add/edit方法不更...

问题:fastadmin的add/edit方法无法保存数据,检查了页面,name=row['name']正常传送,检查controller,也是默认的方法,什么也没有动可就是无法保存数据。解决:经过仔细研究发现,原来是h...

Svelte框架介绍及环境配置运行

Svelte框架介绍与React、Vue、Angular等传统框架不同,Svelte是一个独特的前端框架,它采用编译时渲染而非运行时渲染,具有如下特点:无虚拟dom:Svelte在构建时将组件编译为高效的原生JavaScript代码,运...

推荐文章

IntelliJ/phpstorm/webs...

在使用jetbrains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file-se...

uniapp开发小程序和app时,根据登录状...

在使用uniapp开发app和小程序时,经常会用到打开app/小程序时,根据登录状态判断是显示首页还是跳转登录页的功能。此功能在app.vue的onlaunch方法中定义,方法如下:onLaunch: function() {const _...

您的nahimic驱动程序似乎已经过期的解决...

打开电脑的Nahimic软件,提示“您的nahimic驱动程序似乎已经过期,无法启动”,然后需要点击链接更新驱动,但点击进去后,也找不到什么驱动。经过研究发现解决办法:1.使用SDI安装,即SnappyDriverInstaller1.23...

videojs宽度高度自适应100%的方法

videojs是一款非常不错的htmlvideo播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,video...