
正文
深复制的好处js,复制粘贴的好处
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
深拷贝、浅拷贝的理解与使用场景
1、浅拷贝适合于对象层次结构较浅的情况,比如列表、元组、字典等简单对象的复制。如果对象的元素全部为不可变类型,则可以使用浅拷贝来复制该对象。
2、,深浅拷贝都是对源对象的复制,占用不同的内存空间。2,不可变类型的对象,对于深浅拷贝毫无影响,最终的地址值和值都是相等的。
3、浅拷贝就是指对象复制的时候只复制一层;深拷贝是指复制对象的所有层级。深拷贝和浅拷贝,主要是对象发生复制的时候,根据复制的层级不同来区分的。很多人在这里经常变量赋值发生混淆。
4、浅拷贝就是拷贝指向原来对象的指针,使原对象的引用计数+1,可以理解为创建了一个指向原对象的新指针而已,并没有创建一个全新的对象。
5、深拷贝和浅拷贝的示意图大致如下:浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
相关问答
Q1: 如何看待vue中的深复制
1、去官网以及各大网站查找后得知,个人发现了vue组件传值遵循这样一个规则 vue的组件传值对于引用数据类型来说,是一个 浅拷贝。
2、item.showComment 就可以直接改变数组,虽然输出 momentList 看是已经 showComment 字段是已经改变,但是在视图层那块Vue没有自动更新。所以运用了 Object.assign() 方法通过浅拷贝来更新数组。顺便回顾下浅拷贝。
3、原理: 用JSON.stringify将对象转成JSON字符串,再用JSON.parse()把字符串解析成对象,一去一来,新的对象产生了,而且对象会开辟新的栈,实现深拷贝。这种方法虽然可以实现数组或对象深拷贝,但不能处理函数。
Q2: js深拷贝和浅拷贝的区别
1、基本数据类型,拷贝是直接拷贝变量的值,而引用类型拷贝的其实是变量的地址。
2、浅拷贝 浅拷贝只复制某个对象的引用,而不复制对象本身,新旧对象还是共享同一块内存 深拷贝 深拷贝会创造一个一摸一样的对象,新对象和原对象不共享内存,修改新对象不会改变原对对象。
3、浅拷贝:也叫引用拷贝,公用一块内存地址,一个改变另一个也改变;深拷贝:创建新的内存地址保存值,与原对象完全独立。
关于深复制的好处js和复制粘贴的好处的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







