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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2024-05-25 10:50 浏览: 4687 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);

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

标签:

相关文章

扫二维码自动选择支付方式的实现

今天有小伙伴问,请问丁老师可以实现扫二维码,自动选择支付方式吗?比如支付宝扫码就支付宝支付,微信扫码就微信支付,云闪付扫码就用云闪付银联支付。这种方式可以实现吗?答案是肯定的,这种扫码支付方式,不但可以实现,而且已经大范围的应用在了我们...

Thinkphp的的代码为什么改了没效果?删...

有一个使用ThinkPHP框架开发程序的同学,遇到了这样一个问题,程序的代码明明已经改了,但在执行时还是按照以前的代码逻辑执行的,新修改的没有起到效果,并且他为了测试程序,都已经把这个程序文件删除了,但程序还是能执行,不得已求助于丁老师...

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

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

Css3中position:sticky无效...

有同学在前端写css代码时,遇到问题,使用的css3,写的是position:sticky,想要内容滚动到该区域,该区域自动置顶滑动。但一直无效,经过丁老师研究后发现,该区域没有定义高度,而使用position:sticky时,是必须要...

推荐文章

FastAdmin后台列表默认分页数量由10...

没那么多废话,直接上修改方法public\assets\js\require-table.jspageSize: Config.pagesize || localStorage.getItem("pagesize") |...

低成本的政企软件系统维护服务

开源节流,控制生产成本,限制开销,是每个企业和单位都要采取的成本控制和管理措施。其中,人力成本是企业在经营中支出占比较大的一块。以IT信息化部门为例,一个负责企业软件系统运维的IT部门,至少需要配置3个员工,每个员工按照IT工程师3-5年工...

BT宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash

FastAdmin非菜单链接,跳转菜单页面的...

在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...