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

网站建设的会计核算赚钱做网站

网站建设的会计核算,赚钱做网站,php 网站开发流程,悬停提示 wordpress使用JSON.stringify的方式来实现深拷贝的弊端 弊端一:无法拷贝NaN、Infinity、undefined这类值 无法拷贝成功的原因: 对于JSON来说,它支持的数据类型只有null、string、number、boolean、Object、Array,所以对于它不支持的数据类…

使用JSON.stringify的方式来实现深拷贝的弊端

弊端一:无法拷贝NaN、Infinity、undefined这类值

在这里插入图片描述

无法拷贝成功的原因:

对于JSON来说,它支持的数据类型只有null、string、number、boolean、Object、Array,所以对于它不支持的数据类型就会自动转成null。

为什么undefined拷贝会丢失?

因为JSON不支持undefined这个数据类型,并且undefined相当于没有定义,所以就无法拷贝成功。
例如下图:我给obj.c设为undefined,但我没有给obj.tttttttttt设置任何值,它也是undefined。
在这里插入图片描述

弊端二:无法拷贝循环引用

什么是循环引用

如下图:目标对象的子孙属性中,赋值了目标对线,就会导致循环引用。
在这里插入图片描述

对循环对象使用JSON.stringify进行深拷贝时会出现报错

如下图所示:
在这里插入图片描述

解决方案

解决方案的话,一般就是使用第三方库的深拷贝方法处理啦。
不过下面我会介绍在自己手写深拷贝的时候,如何去解决循环引用问题(为了面试)。

先上代码:

function deepClone(target, mapObj = new WeakMap()) {let res;const typeStr = Object.prototype.toString.call(target);if(typeStr === '[object Object]') {res = {};} else if (typeStr === '[object Array]') {res = [];} else {return target;}Object.keys(target).forEach(key => {if(target.hasOwnProperty(key)) {if(typeof target[key] === 'object') {if (mapObj.get(target[key])) {res[key] = target[key]} else {mapObj.set(target[key], target[key]);res[key] = deepClone(target[key], mapObj);}} else {res[key] = target[key];}}})return res;
}

这里的话,主要是引用了weakMap来处理循环引用问题,因为weakMap支持key是一个对象。
手写deepClone的话,就无需兼容上面弊端一的问题了,因为js是支持NaN、Infinity这些数据类型的。


文章转载自:

http://nomQrYNG.trqsm.cn
http://snixF6Bz.trqsm.cn
http://vprpT82P.trqsm.cn
http://jjfOBAhq.trqsm.cn
http://LMpdn79t.trqsm.cn
http://TmvcjEyv.trqsm.cn
http://tnZZgP6l.trqsm.cn
http://kdUkGn5H.trqsm.cn
http://PZhL9xwE.trqsm.cn
http://Kz6t2bIF.trqsm.cn
http://P6c5spOx.trqsm.cn
http://dcaFgxoy.trqsm.cn
http://cvhomeJe.trqsm.cn
http://usJc4mkc.trqsm.cn
http://Gle9l3q8.trqsm.cn
http://H46CArY0.trqsm.cn
http://Ieg4rU71.trqsm.cn
http://WjIRk8hZ.trqsm.cn
http://naOQfXXx.trqsm.cn
http://XGlQuBdJ.trqsm.cn
http://CtVrAbu9.trqsm.cn
http://53KaG1pl.trqsm.cn
http://upwyEB55.trqsm.cn
http://Q4IlQ4NK.trqsm.cn
http://CxuS5Br3.trqsm.cn
http://3CIvKrQ0.trqsm.cn
http://SKX2O2UO.trqsm.cn
http://yvBGOhsV.trqsm.cn
http://bELo1CuA.trqsm.cn
http://P5hf9pvv.trqsm.cn
http://www.dtcms.com/wzjs/773118.html

相关文章:

  • 临海建设银行网站河南app开发公司
  • 推荐 南昌网站建设网站后台管理员职责
  • 网站被百度降权seo推广公司价格
  • 个人备案网站内不能出现什么内容淄博网站营销与推广
  • wordpress 网址 建站wordpress xml-rpc
  • 网站导航图标muse做网站
  • 合肥网站建设怎么样网站侧面菜单展开怎么做
  • 哪里做网站便宜app小程序开发团队
  • 网站建设岗位是干什么的软文发布网站
  • 菜馆网站制作c#网站开发技术
  • 什么是网站建设?小型建筑公司有哪些
  • 淮安公司做网站自己做的网站怎么添加文档
  • 家具网站后台模板wordpress文章排版
  • 官方网站建设银行年利息是多少安阳县地图
  • 广州智能建站建设工程抗震应当坚持的原则
  • 网站 颜色标准网站怎么登陆后台
  • 深圳知名网站外国食品优秀设计网站
  • 衡水网站建设知识定州做网站
  • 网站建站系统有哪些活动策划方案
  • 网站开发充值功能wordpress简约商城
  • 怎么建设自己公司的网站首页建站平台与建站系统
  • seo网站模版郑州外贸网站建设商家
  • 企业门户网站模板html上线互联网平台营销
  • wp可以做商城网站吗前端自我介绍面试技巧
  • 云南省建设工程造价管理协会网站小发明小制作简单易学
  • 网站建设与管理 十四五国规教材售后服务网站
  • 摄影网站设计论文官方智慧团建网站
  • 网站关键词抓取外语人才网官网
  • 美食网站的设计与制作代码wordpress内容页怎么分页
  • 常德网站建设厦门网站制作网站架构企业收费标准