为了账号安全,请及时绑定邮箱和手机立即绑定

js引用类型值赋值后在重新赋值后不影响之前已经赋值的

js引用类型值赋值后在重新赋值后不影响之前已经赋值的

POPMUISE 2019-03-04 17:10:00
引用类型赋值后,改变其中一个会影响其他的,如下:var obj1 = { name: 'hello' };var obj2 = obj1; obj2.name = 'world';console.log(obj1); // {name: "world"}console.log(obj2); // {name: "world"}以上增删改其中一个引用类型的属性,会影响其他。但是下面整个重新赋值(无论obj1或obj2被重新赋值为任何其他引用类型或基本类型的值)其中一个,不会影响其他怎么解释呢?var obj1 = { name: 'hello' };var obj2 = obj1; obj1 = {};console.log(obj1); // {}console.log(obj2); // {name: "hello"}var obj1 = { name: 'hello' };var obj2 = obj1; obj2 = {};console.log(obj1); // {name: "hello"}console.log(obj2); // {}
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

变量整体重新赋值,相当于重新开辟了一块内存。内存指针变了。和原来无关了

查看完整回答
反对 回复 2019-03-04
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

后边是直接改变了变量的指向,并没有操作引用对象。

查看完整回答
反对 回复 2019-03-04
  • 2 回答
  • 0 关注
  • 2249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信