返回顶部
首页 > 资讯 > 精选 >javascript深拷贝的情况有哪些
  • 204
分享到

javascript深拷贝的情况有哪些

2023-06-26 05:06:07 204人浏览 安东尼
摘要

这篇“javascript深拷贝的情况有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“javascript深拷贝的情况有

这篇“javascript深拷贝的情况有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“javascript深拷贝的情况有哪些”文章吧。

深拷贝:引用数据类型中名存在栈内存中,值存在于堆内存中,但是栈内存会提供一个引用的地址指向堆内存中的值,深拷贝就是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存。方法一:使用Object.assign(),一般用于数据类型比较简单,层数不大于1的数据;因为Object.assign无法深层拷贝。

const strJSON = {      id:'12343231',      name:'张三',      age:23,      inof:{        sex:'男'      },      sjid:null,      strHandle () {        console.log('111111111');      }    }    obj.name = 'lisi'    obj.inof.sex = '女'    console.log('obj',obj);    console.log('strjson',strJson);

结果:

javascript深拷贝的情况有哪些

方法二:使用JSON.parse和JSON.stringify,一般用于数据类型比较复杂的,有深层嵌套的数据;但是undefined , function, RegExp 等类型无法处理;

const strJson = {      id:'12343231',      name:'张三',      age:23,      inof:{        sex:'男'      },      sjid:null,      strHandle () {        console.log('111111111');      }    }    const obj = JSON.parse(JSON.stringify(strJson))    obj.name = 'lisi'    obj.inof.sex = '女'    console.log('obj',obj);    console.log('strJson',strJson);

结果:

javascript深拷贝的情况有哪些

第三种:使用递归拷贝,在代码中处理特殊的情况。

 function copyHandle (strJson) {      let result ;      // 判断是否存在      if (!strJson) return null;      // 判断是否是对象      if (typeof strJson !== 'object') return strJson;      // 判断是否是数组      if (Array.isArray(strJson)) {        result = [];        for (let i of strJson) {          result.push(copyHandle(i))        }      }//判断是否是RegExp      else if(strJson.constructor===RegExp) {        result = strJson      }//判断是否是对象      else {        result = {}        for (let i in  strJson) {          result[i] = copyHandle(strJson[i])        }      }      // 返回结果      return result    }

以上就是关于“javascript深拷贝的情况有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: javascript深拷贝的情况有哪些

本文链接: https://lsjlt.com/news/306935.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • javascript深拷贝的情况有哪些
    这篇“javascript深拷贝的情况有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“javascript深拷贝的情况有...
    99+
    2023-06-26
  • javascript深拷贝的几种情况总结
    在前端项目的数据处理中,json数据的拷贝是很常见的,怎么使拷贝的双方数据之间互不影响,这就要用到深拷贝了 深拷贝:引用数据类型中名存在栈内存中,值存在于堆内存中,但是栈内存会提供一...
    99+
    2024-04-02
  • javascript深拷贝和浅拷贝的区别有哪些
    这篇文章主要介绍“javascript深拷贝和浅拷贝的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript深拷贝和浅拷贝的区别有哪些”文章能...
    99+
    2024-04-02
  • javascript中深拷贝函数有哪些
    这篇文章将为大家详细讲解有关javascript中深拷贝函数有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体...
    99+
    2023-06-14
  • javascript深拷贝实现的方式有哪些
    本篇内容主要讲解“javascript深拷贝实现的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript深拷贝实现的方式有哪些”吧!概念介绍深拷贝:在堆内存中重新开辟一个存...
    99+
    2023-07-02
  • js中深拷贝和浅拷贝的区别有哪些
    这篇文章主要介绍js中深拷贝和浅拷贝的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!javascript是一种什么语言javascript是一种动态类型、弱类型的语言,基于对象和事件驱动并具有相对安全性并广...
    99+
    2023-06-14
  • php中深拷贝和浅拷贝有哪些区别
    本篇内容介绍了“php中深拷贝和浅拷贝有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP中深拷贝和浅拷贝的区别:1、深拷贝赋值时...
    99+
    2023-06-29
  • javascript赋值、浅拷贝、深拷贝的概念
    本篇内容介绍了“javascript赋值、浅拷贝、深拷贝的概念”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • javaScript深拷贝和浅拷贝的简单介绍
    目录基本数据类型在数据结构当中引用数据类型浅拷贝-深拷贝浅拷贝浅拷贝小结深拷贝结尾源码地址在了解深拷贝和浅拷贝之前,我们先梳理一下: JavaScript中,分为基本数据类型(原始值...
    99+
    2024-04-02
  • vue深拷贝的实现方法有哪些
    这篇文章主要讲解了“vue深拷贝的实现方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue深拷贝的实现方法有哪些”吧!vue深拷贝的三种实现方式:1、通过递归方式实现深拷贝;2、J...
    99+
    2023-07-05
  • java深拷贝的实现方式有哪些
    在Java中,深拷贝可以通过以下几种方式来实现:1. 实现Cloneable接口并重写clone()方法:Cloneable接口标记...
    99+
    2023-08-08
    java
  • JavaScript深拷贝的一些踩坑记录
    前言 之前去一家公司面试的时候,面试官问了我一个问题,说:"如何才能深拷贝一个对象"。当时我心里有些窃喜,这么简单的问题还用想吗?于是脱口而出:"平时常用的有两种办法,第一种用JSO...
    99+
    2024-04-02
  • 如何理解JavaScript中的浅拷贝与深拷贝
    本篇文章给大家分享的是有关如何理解JavaScript中的浅拷贝与深拷贝,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 浅拷贝在使用JavaScript对数组进行操作...
    99+
    2023-06-16
  • JavaScript中的深拷贝(deep copy)和浅拷贝(shallow copy)
    聚沙成塔·每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造...
    99+
    2023-10-19
    javascript 开发语言 ecmascript
  • JavaScript深浅拷贝的介绍
    本篇内容介绍了“JavaScript深浅拷贝的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!了解拷贝背后的过程,避免不必要的错误,Js专...
    99+
    2023-06-07
  • JavaScript中的深拷贝和浅拷贝的详细介绍
    这篇文章主要介绍“JavaScript中的深拷贝和浅拷贝的详细介绍”,在日常操作中,相信很多人在JavaScript中的深拷贝和浅拷贝的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • es6深度拷贝的实现方法有哪些
    这篇文章主要介绍“es6深度拷贝的实现方法有哪些”,在日常操作中,相信很多人在es6深度拷贝的实现方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6深度拷贝的实现...
    99+
    2024-04-02
  • JavaScript中浅拷贝和深拷贝的区别是什么
    本篇文章为大家展示了JavaScript中浅拷贝和深拷贝的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言1. 基础数据类型: undefined、bo...
    99+
    2024-04-02
  • javascript深拷贝的示例分析
    这篇文章将为大家详细讲解有关javascript深拷贝的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:要讲JavaScript的拷贝,就得先讲讲java...
    99+
    2024-04-02
  • JavaScript深拷贝的注意事项
    小编给大家分享一下JavaScript深拷贝的注意事项,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!之前去一家公司面试的时候,面试官问了我一个问题,说:"如何才能深拷贝一个对象"。当时我心里有些窃喜,这...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作