请稍等 ...
×

采纳答案成功!

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

while循环中对象赋值的问题

图片描述
在while循环中,p2 = p1; p1是对象,然后下面紧接着p1 = tmp,这个时候,p1已经等于p1.next了,就是说p1的值变了,p2为什么还是等于p1之前的值,而不是tmp呢?

正在回答 回答被采纳积分+3

1回答

lewis 2021-12-05 10:49:33

课程中有详细的讲解,js对象是引用类型,如果你理解这个基础知识,这些你都会明白

0 回复 有任何疑惑可以回复我~
  • 提问者 Geek喜多川 #1
    确定下不知道这么理解对不对,const tmp = p1.next;就是tmp和p1.next都指向了同一个地址,当p1.next指向了新地址p2后,tmp的指向依然是指向老地址p1.next;下面p2赋值为p1等也都是同理是吧
    回复 有任何疑惑可以回复我~ 2021-12-05 15:52:02
  • lewis #2
    是的,你理解的没错
    回复 有任何疑惑可以回复我~ 2021-12-05 15:56:17
  • 引用类型在开发中,有时候需要将数组或者对象的值赋予其他另一个变量,但是两个变量之间会相互影响,因为在将引用类型的值赋给其他变量时,赋予的其实是内存中的存储地址,不是只有在深拷贝以后才互不影响吗??
    回复 有任何疑惑可以回复我~ 2022-01-28 11:52:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信