美文网首页让前端飞程序员前端
什么是浅拷贝?什么是深拷贝?

什么是浅拷贝?什么是深拷贝?

作者: 小伙子太认真 | 来源:发表于2019-03-05 15:09 被阅读24次

解决这个问题的前提是:了解过js的变量存储类型、赋值。

懂的就跳过

==============

变量存储类型分两类

①基本类型:直接存储在栈中的数据。(字符串、布尔值、未定义、数字、null)

②引用类型:将该对象引用地址存储在中,然后对象里面的数据存放在中。(数组、对象、函数)

这里解释一下为什么null是基本类型:有人说他用type of打印出来不是oject吗?

null只是一个空指针对象,没有数据。根据引用类型特点可以看一下是否符合。

=================

回到我们的问题上

说说深拷贝和浅拷贝还有赋值的区别,这样好理解

浅拷贝:也就是拷贝A对象里面的数据,但是不拷贝A对象里面的子对象

深拷贝:会克隆出一个对象,数据相同,但是引用地址不同(就是拷贝A对象里面的数据,而且拷贝它里面的子对象)

赋值:获得该对象的引用地址

浅拷贝和深拷贝的区别 三者的区别

下面用实例来说明

赋值特点说明:

赋值,疑惑点来自于下图。 赋值打印图

浅拷贝特点说明:

obj还是上面的

深拷贝说明:

第一种方法的缺陷在于函数不能拷贝 第二种也有其他的问题,这里不深入剖析了。主要就是解释这三者的关系

喜欢的点个赞,对你有帮助的点个赞。

相关文章

  • iOS--拷贝相关题

    1、什么是深拷贝什么是浅拷贝?浅拷贝和深拷贝的区别 * 浅拷贝(shallow copy):指针拷贝,对于被拷贝对...

  • js浅拷贝、深拷贝

    前言 本文主要简单讲一下什么是浅拷贝、什么是深拷贝、深拷贝与浅拷贝的区别,以及怎么进行深拷贝和怎么进行浅拷贝。 一...

  • Object 对象

    什么是浅拷贝,如何实现浅拷贝?什么是深拷贝,如何实现深拷贝? 是什么: 浅拷贝: 将原对象或原数组的引用直接赋给新...

  • 深拷贝、浅拷贝的理解与使用场景

    什么是深拷贝、浅拷贝? 通俗解释:深拷贝是内容拷贝,浅拷贝是地址拷贝 区别点: 深拷贝会创建一个新的内存空间,拷贝...

  • python切片是引用还是复制

    切片是深拷贝 等号是引用,不是拷贝 深拷贝、浅拷贝都属于拷贝,改变原始列表拷贝列表通常不变,为什么说深、浅呢?是指...

  • 重拾iOS-copy

    关键词: , , , , 面试题:1)什么是深拷贝什么是浅拷贝?2)对可变对象进行copy是深拷贝还是浅拷贝?3)...

  • Java基础 - 深拷贝和浅拷贝

    Java 的深拷贝和浅拷贝 什么是深拷贝、浅拷贝 (深克隆、浅克隆)? 在 Java 中,数据类型分为 基本数据类...

  • 什么是浅拷贝?什么是深拷贝?

    解决这个问题的前提是:了解过js的变量存储类型、赋值。 懂的就跳过 ============== 变量存储类型分两...

  • 什么是浅拷贝与深拷贝

    什么是浅拷贝与深拷贝。浅拷贝就是不可变对象执行不可变拷贝(copy)深拷贝就是如果执行拷贝时 只要有可变的无论是可...

  • JavaScript深拷贝实现

    什么是浅拷贝,什么是深拷贝? 什么是浅拷贝关于浅拷贝的概念,我在网上看到一种说法,直接上代码。 但是我个人认为,上...

网友评论

    本文标题:什么是浅拷贝?什么是深拷贝?

    本文链接:https://www.haomeiwen.com/subject/cuynuqtx.html