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

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

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

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

标签:

相关文章

PHP网页报DOMDocument::loa...

PHP网站,网页打开不正常,显示“DOMDocument::loadHTML(): Tag header invalid in Entity”错误代码,是怎么回事呢?其实,这是php程序中,使用了new DOMDocument的load...

CI框架页面添加全局变量的方法

CI框架是一款很小却又非常强大的PHP程序框架,非常适合用来搭建中小型网站以及扩展程序。有同学问到,在使用CI框架时,比如要对全站的标题、公司信息、电话等设置一个全局变量,不用每个页面都写死,该怎么办呢?丁老师来教你:1.打开页面的控制...

CodeIgniter上传提示upload ...

在开发CodeIgniter的上传功能时,提示upload path does not appear to be valid,说是上传路径错误,但是仔细检查了设置的路径是对的。怎么还出现这个提示呢?经过丁老师研究,是因为CodeIgni...

使用Visual Studio开发C#程序时...

我们都知道Visual Studio的自动完成功能,可以在开发时,自动提示补充语法、参数等信息,可以方便的协助我们来开发程序,但是有同学发现,在使用VS开发C#程序时,编辑器的自动完成功能很不好用,要么是在正常输入代码时,突然出现提示,...

推荐文章

FastAdmin add/edit方法不更...

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

FastAdmin btn-dialog按钮...

fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...

php拼装sql语句,换行查询出错的问题解决

在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;' $sql=' and( status in(1,2,3,4,5) and id not in (select id from ...

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

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