所有分类
  • 所有分类
  • 后端开发
复制粘贴不再神秘!原物变亲兄弟?JSON和Object.assign()揭秘

复制粘贴不再神秘!原物变亲兄弟?JSON和Object.assign()揭秘

这篇文章主要介绍了JavaScript复制变量三种方法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下最简单的办法就是一个一个循环复制给新的变量。利用JSON转换来复制变量。

你是不是也疑惑过?就是当你复制一个东西时,到底这个复制品和原物是不是完全一样?这可不是那么容易回答!所以今天我就来帮你揭开谜团!

记住了,拷贝一个东西可不只是把值扔给新的变量那么简单。有时新的变量和原物还会连在一起,就像亲弟弟妹妹那样,一方变了,对方也要变。这样搞出来的复制品可是不一样的

就问你们有啥招没?我告诉你们,有!我们能用JSON转来转去复制那个变量。首先,把原变量变成个字符儿,然后整个儿扔进JSON里头重造一遍。这么弄出来的东西就能当新的使。这办法不赖?

记住,要是原变量里藏着对像类型的数值,那么拷贝时它的子变量索引也会跟着过去。这么说来,其实并没重新捏出一个全新的复制品哩,挺烦人的?别急,我们还有别的窍门儿来解决这个问题。

又一招就是用 Object.assign() 方法搞定。这个方法就像变魔术一样,在不改变原对象的情况下给你制作出一个新的完整副本。基本流程就是把旧对象的所有属性都装进一个空白对象里,最后再拿出成品。

你知道吗?用 Object.assign() 这个办法拷贝对象时,即使原对象里有孩子,拷出来的新对象里的子对象还是原来的那几个。事实上,他们和爸爸妈妈一起住着,住在同一块地盘儿上,这真有点儿玄乎了!

告诉你个好办法!你想复制数组或其他变量?试试Object.assign(),带个空的{},参数就行。瞬间就有个和原物一模一样的新东西出来!就是这么容易好用!

想知道复制一个对象副本怎么弄吗?其实用JSON转码或Object.assign()方法都行。不过得明白,每个方法都有各自的优缺点!所以还是得看具体情况选哪种。咱们今天就是来聊聊复制对象副本这事的,学完以后发现两种方法也能实现不同效果,要么是完全独立的副本,要么是用共同存储器创建的副本,真有意思!大家有啥想法都来唠嗑!别忘了点赞分享!

// 封装成方法// 返回一个新的变量副本
// get a copy of an object
function getNewObjectOf(src) {
 return Object.assign({}, src);
}

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/03/11488.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?