请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

堆栈以及深拷贝的问题求老师解答

老师关于深拷贝我画了个图,堆栈存储这块我还有些疑问,他是针对每个对象创建存储地址,所有属性都在这个存储地址里,还是针对每个对象的属性创建存储地址呢?另外,麻烦您回答一下我的图深拷贝画的对吗图片描述

那么深拷贝的话就应该是这样子的对吗?

图片描述

正在回答

1回答

栈里存储的是一个一个的变量。针对某个变量,值类型则直接存储值,引用类型则存储堆地址。你截图中,只有 a b 两个变量。

a.age 和 a.type 不是变量,他俩不应该出现在栈中。

2 回复 有任何疑惑可以回复我~
  • 提问者 张名扬 #1
    一个引用类型的对象,他所有的属性都会被创建在堆的一个物理地址当中吗?
    回复 有任何疑惑可以回复我~ 2020-03-11 21:04:15
  • 双越 回复 提问者 张名扬 #2
    不一定。这种情况除外:const a = { x: 100 }; const b = {a: a};
    回复 有任何疑惑可以回复我~ 2020-03-11 21:12:53
  • 提问者 张名扬 #3
    老师,不知道我后面画的对不对,因为临时画的,画风有点简陋。。还望解答
    回复 有任何疑惑可以回复我~ 2020-03-11 21:21:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信