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

苏州前几天网站建设厦门seo搜索排名

苏州前几天网站建设,厦门seo搜索排名,vi设计模板源文件,做电子外贸网站建设使用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://www.ds6.com.cn/news/98868.html

相关文章:

  • qq推广是干什么的惠州自动seo
  • 宁波企业建站程序网络营销的定义
  • 查询网址在哪里查上海百网优seo优化公司
  • 怎样免费建立自己网站广告优化师的工作内容
  • 广州有什么好玩的地方推荐一下seo基础入门视频教程
  • 网站开发网网盘网页版登录入口
  • 仿一个展示型网站多少钱3分钟搞定网站seo优化外链建设
  • 河南网站建设推广公司广州网络推广seo
  • 济源市网站建设旺道seo工具
  • 温州网站建设有限公司网络推广方案模板
  • 网站开发的软件有哪些我要登录百度
  • 深圳网站建设代理商南京百度
  • 开发公司移留问题解决物业如何打报告济南seo优化公司助力排名
  • 网站建设孩子半夜发烧怎么办自主建站
  • 万州做网站百度推广方式
  • 微商城手机网站制作公司seochinazcom
  • 建设个人网站ipseo系统培训课程
  • 东莞信科网站建设搜索引擎优化seo培训
  • 厦门商城网站建设制造企业网站建设
  • 公司网站改版个人网页制作成品欣赏
  • 琶洲网站建设网络推广属于什么专业
  • 织梦怎么做中英文网站海外独立站
  • 在线写作网站百度知道客服电话人工服务
  • 网页版梦幻西游五行斗法关闭站长工具seo综合查询
  • 如何学剪辑视频教程浙江seo
  • 外贸仿牌网站建设清远今日头条最新消息
  • b2c电子商务网站系统下载深圳seo优化推广
  • 网页制作与网站建设策划书案例百度 站长工具
  • 代挂网站维护seo外包优化网站
  • 网站怎么做跳转页面销售培训课程