对象传值的时候能不能不传引用只传赋值

对象传值的时候能不能不传引用只传赋值
比如:a和b两个对象
a = b
那么改完a ,b就改了,可不可以改了a,b不动

阅读 3.5k
6 个回答

用拷贝的思想,a = Object.assign({},b);之后改变a 不会影响b

深拷贝了解一下

各种方法深拷贝一下就行 比如
a = JSON.parse(JSON.stringify(b))

对象深克隆了解下,简单实现

JSON.parse(JSON.stringify(object))

那就用深拷贝。
这里的a和b代表的是对象在内存中的地址值,所以a=b其实就是把a赋值b的那个地址,导致两个是同一个对象的地址值。改变其中一个另一个肯定也就改了

也可以了解一下原型模式,涉及到这方面东西。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题