加载中...

JS 引用、浅拷贝、深拷贝 区别

引用

引用即是存放在堆区的复杂数据,被另外一个变量名再引用了一次

  • 在任意一个被赋值的变量名下改复杂数据的值,值都会改变

浅拷贝

  • 浅拷贝一个复杂类型,会在堆区另外新建一个数据,新的变量名指向新的数据
  • 堆区的数据里如果有嵌套复杂数据类型,不会新建嵌套里面的数据,只复制第一层

深拷贝

不管复制数据类型嵌套多少复杂类型,都能完全复制

  • js的实现深拷贝有三种方法
    • 1.利用递归函数<函数自己套自己>遍历赋值

    • 2.使用别人写好的代码,例如(js的lodash库)

    • 3.利用JSON字符串转换

posted @ 2023-04-10 17:37  1502god  阅读(46)  评论(0)    收藏  举报
-->