我是JavaScript的新手,我认为对象是通过引用传递的。
我期望的输出是:
{ one: 1 } { one: 1 }
{ two: 2 } { two: 2 }
Run Code Online (Sandbox Code Playgroud)
获得的输出:
{ one: 1 } { one: 1 }
{ two: 2 } { one: 1 }
Run Code Online (Sandbox Code Playgroud)
什么时候b引用地址a,为什么b还{ one: 1 }
{ one: 1 } { one: 1 }
{ two: 2 } { two: 2 }
Run Code Online (Sandbox Code Playgroud)
当您这样做时b = a,因此现在b拥有与相同的引用a
但是当您将新值分配给 a
a = { one : 2 }
Run Code Online (Sandbox Code Playgroud)
它为值({ one : 2 })创建了一个新的内存引用,并用a变量对其进行了标记,因此您可以使用引用该内存引用a并获取该值。但b仍保留具有参考a价值的初始参考{one : 1}
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |