当前位置: 首页 > news >正文

知名网站开发公司免费b站推广网站入口202

知名网站开发公司,免费b站推广网站入口202,网站建设预期周期,桐乡网站设计公司什么是深拷贝什么是浅拷贝,两者区别 1.深拷贝 递归复制对象的所有层级,嵌套的引用类型属性,最后生成一个完全独立的新对象,与原对象无任何引用关联。 特点: 新对象和原对象的所有层级属性是独立的(修改…

什么是深拷贝什么是浅拷贝,两者区别

1.深拷贝

递归复制对象的所有层级,嵌套的引用类型属性,最后生成一个完全独立的新对象,与原对象无任何引用关联。

特点:

新对象和原对象的所有层级属性是独立的(修改不会相互影响)

2.浅拷贝

只复制对象的第一层属性,如果属性是引用类型(引用数据类型放在堆中,优先级)

如果属性是基本数据类型,浅拷贝会复制这些值。如果属性是引用数据类型,浅拷贝是只复制复制他们的内存地址,这就意味着新对象和原对象数据共享同一块内存中的引用对象

特点:原对象和新的对象第一层(基本数据类型)属性是相互独立的,但是深层(引用数据类型)属性是共享的(修改会互相影响)

实现方法

1、扩展运算符
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = { ...obj1 };
obj2.a = 3;
obj2.b.c = 4;
console.log(obj1.a); // 1
console.log(obj1.b.c); // 4,同样被修改了,此处反应是浅拷贝,深拷贝不会发生改变
2、Object.assign
const obj2 =Object.assign({},...obj1)
const obj1 = { a: 1, b: { c: 2 } };
const obj2 = Object.assign({}, obj1);
obj2.a = 3;
obj2.b.c = 4;
console.log(obj1.a); // 还是1,说明obj1的a属性没变
console.log(obj1.b.c); // 变成4了,所以obj1的b对象被修改了,是浅拷贝,而深拷贝是相互独立的
3、数组浅拷贝(slice、concat、展开运算符)
concat()	连接两个或多个数组,不影响原数组	返回一个新的数组
slice()	数组复制slice(begin、end)	返回被截取项目的新数组,不影原数组

3.两者区别

应用场景

何时使用浅拷贝?

浅拷贝适用于以下情况:

性能要求较高:浅拷贝复制速度快,因为它只复制基本数据类型和引用,而不复制引用对象本身。

对象结构简单:如果对象只包含不可变对象或没有多层次的嵌套引用,浅拷贝足以满足需求。

共享数据的场景:在某些情况下,需要多个对象共享相同的数据,以减少内存使用。例如,缓存数据的共享,浅拷贝可以使得多个对象共享相同的引用。

何时使用深拷贝?

深拷贝适用于以下情况:

数据独立性要求高:在需要确保原始对象和复制对象完全独立的情况下,深拷贝是必要的。这避免了一个对象的改变影响到另一个对象。

复杂数据结构:对于具有复杂嵌套引用的对象,深拷贝确保所有层次的引用对象都被复制,保证数据的完整性。

并发编程:在多线程环境中,深拷贝可以防止线程之间的相互干扰,提高程序的安全性和稳定性。

优缺点比较

浅拷贝的优缺点

优点:

速度快,效率高:因为只复制引用,浅拷贝的操作速度更快,占用的内存更少。
实现简单:浅拷贝通常只需简单的赋值操作,易于实现和维护。
缺点:

不独立:浅拷贝对象中的引用指向与原对象相同的内存区域,修改一个对象可能影响另一个对象,导致数据一致性问题。
易产生难以察觉的Bug:由于共享同一引用,可能在不经意间导致数据的修改,出现难以察觉的Bug。

深拷贝的优缺点

优点:

数据独立性强:深拷贝确保新对象与原对象完全独立,修改一个对象不会影响另一个对象,保证数据的安全性和独立性。
适用于复杂数据结构:深拷贝可以处理具有嵌套引用的复杂对象,确保复制后的对象数据完整。
缺点:

实现复杂:深拷贝需要递归复制所有引用对象,编写代码时容易出错,增加了代码的复杂性。
性能开销大:深拷贝需要分配新的内存空间,复制对象的过程较慢,占用更多的内存资源。

http://www.cadmedia.cn/news/12008.html

相关文章:

  • 佛山网站建设怎么选自己建网站的详细步骤
  • 八爪鱼网络网站建设如何制作一个属于自己的网站
  • 58招商加盟项目长春百度网站优化
  • 什么网站做教育的比较多百度一下首页网页手机版
  • 微信手机网站支付怎么做人员优化方案
  • WordPress 数据库 缓存珠海关键词优化软件
  • wap站网站发布与推广怎么写
  • 宁波网站建设培训班网络营销的概念
  • 建立网站的教学书籍新网络营销
  • 文山建设局网站建站模板
  • 招工 最新招聘信息保安优化资讯
  • 学编程能干什么seo门户网价格是多少钱
  • 电子商务网站开发与管理实验报告十大推广app平台
  • 做农产品交易网站有人看片吗免费的
  • 成人用品网站开发seo的中文含义是
  • 闵行区人民政府官网广州seo网站推广
  • 网站系统建设需要什么资质搜易网托管模式的特点
  • 2023年二建报名网站官网登录新东方英语培训机构官网
  • 中湾建设集团58网站百度网盘提取码入口
  • 网站正在建设中色关键词热度分析
  • 成都网站建设:广告联盟平台排名
  • 网站的建设流程搜索引擎论文3000字
  • 百度推广进入后是别的网站 说是服务器问题凡科建站登录
  • 专做网站的公司今天的新闻 联播最新消息
  • 专业建设外贸网站制作域名申请哪家好
  • 网站建设与管理的现状百度百科分类方法
  • 策划对于企业网站建设来说外贸seo推广招聘
  • 大宗交易平台有哪些seo域名综合查询
  • 大埔县住房和城乡规划建设局网站2023最新15件重大新闻
  • 保定市住房保障和城乡建设局网站企业网络营销业务