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

重庆市建筑工程信息网官网企业网站seo推广

重庆市建筑工程信息网官网,企业网站seo推广,新能源汽车前十名品牌,wordpress点击图片幻灯播放structuredClone() JavaScript 中提供了一个原生 API 来执行对象的深拷贝:structuredClone。它可以通过结构化克隆算法创建一个给定值的深拷贝,并且还可以传输原始值的可转移对象。 当对象中存在循环引用时,仍然可以通过 structuredClone()…
  •  structuredClone()

  •  JavaScript 中提供了一个原生 API 来执行对象的深拷贝:structuredClone。它可以通过结构化克隆算法创建一个给定值的深拷贝,并且还可以传输原始值的可转移对象。

当对象中存在循环引用时,仍然可以通过 structuredClone() 进行深拷贝。

      const A = {set: new Set([1, 3, 3]),map: new Map([[1, 2]]),regex: /foo/,error: new Error('Hello!')}A.a = Aconst copied = structuredClone(A)console.log(copied)

注意:

原型链不能被遍历或拷贝(克隆的对象将不再是这个类的一个实例(但是这个类的所有有效属性都将被拷贝)) 

不能拷贝函数、方法DOM节点 、属性描述符、setter 和 getter 以及类似的元数据不能被克隆

支持拷贝的类型: 

Array(数组)、ArrayBuffer(数据缓冲区)、Boolean(布尔类型)、DataView(数据视图)、Date(日期类型)、Error(错误类型,包括下面列出的具体类型)、Map(映射类型)、Object (仅指纯对象,如从对象字面量中创建的对象)、原始类型(除symbol外,即 number、string、null、undefined、boolean、BigInt)、RegExp(正则表达式)、Set(集合类型)、TypedArray(类型化数组)。

  • JSON.parse(JSON.stringify())

使用时需要注意: 

JSON.stringify 只能处理基本对象、数组和基本类型,而其他类型的值在转换之后都可能出现出乎意料的结果,例如 Date 会转化为字符串, Set 会转化为 {}

JSON.stringify甚至完全忽略某些内容,比如undefined或函数。 

JSON.parse(JSON.stringify(x)) 无法对包含循环引用的对象进行深克隆

      const A = {set: new Set([1, 3, 3]),map: new Map([[1, 2]]),regex: /foo/,error: new Error('Hello!')}A.a = Aconst copied = JSON.parse(JSON.stringify(A))

报错:

 

所以,如果对象没有上面说的这些情况,使用 JSON.parse(JSON.stringify(x)) 进行深克隆是完全没有问题的。如果有,就可以使用 structuredClone() 来进行深拷贝。

实现深拷贝只需以下三个核心步骤:

  1. 创建出对应数据类型的空白数据。即,若须拷贝的是对象类型数据,则创建一个空白对象,以此类推。
  2. 拷贝目标数据。即把目标数据拷贝到步骤1中创建的空白数据里。
  3. 返回拷贝的数据。
export function deepClone(data: any){// 普通类型数据则直接返回// 循环引用处理// 1. 创建对应类型的空白数据// 2. 复制// 3. 返回}

其他拷贝方式: 

 Object.assign/解构赋值/arr.concat
当拷贝内容中数据的值都是简单数据类型时,是深拷贝
当拷贝内容中数据的值出现引用数据类型时,引用数据仍然是浅拷贝,只有简单数据类型是深拷贝

转载于:

JavaScript 中更现代的深拷贝方法! - 掘金 (juejin.cn)

http://www.zhongyajixie.com/news/34847.html

相关文章:

  • 个体工商户网站备案uc浏览器网页版入口
  • 专注宜昌网站建设软件推广赚佣金渠道
  • 做网站红色和什么搭配好微商怎么引流被别人加
  • 安平县护栏网站建设百度榜
  • wap手机网站建设制作开发抖音的商业营销手段
  • 深圳网咯鸟网站建设公司怎么样淘宝关键词搜索量查询工具
  • 怎样建设网站免费网站推广优化排名seo
  • 长沙小程序app开发seo网站推广全程实例
  • 个人简历模板下载 免费完整版郑州seo排名公司
  • 淘宝里面的网站怎么做的网站推广的概念
  • 如何提高网站打开速度百度广告优化
  • 厦门公司网站制作流程啥是网络推广
  • 做英文网站需要多少seo技术交流论坛
  • 学校网站建立企查查在线查询
  • 日照 网站建设北大青鸟培训机构官网
  • 电商加盟网站建设互联网营销师证书含金量
  • 天津商城网站制作全网营销推广平台有哪些
  • 企业网站制作官网seo推广技术
  • 建设代刷网站怎么优化网站关键词排名
  • 中英双语网站程序seo每天一贴博客
  • seo网站运营百度推广运营专员
  • 番禺建设局网站万网注册域名查询官方网站
  • 温州微网站制作公司电话王通seo赚钱培训
  • 机关党建网站建设策划百度app下载安装官方免费下载
  • 网站风格和色调苹果被曝开发搜索引擎对标谷歌
  • 网站定制开发流程和功能网络科技公司
  • 无锡建设银行官网招聘网站如何用网站模板建站
  • 东川网站制作宁德市蕉城区疫情
  • 做哪些网站可以赚钱的建网站公司哪里好
  • 做购物网站哪个cms好用如何建立免费公司网站