这是一个关于内存中指针或引用对象的问题

问题描述

现在,比如说我写:

let object1 = {a: true}
let object2 = object1

object1.a = false

console.log(object1)
console.log(object2)

上面代码的结果如你所料:

{a: false}
{a: false}

但是如果我指定 object1 来表示一个字符串或数字,任何不是数据结构的东西,它都不会给出相同的结果,这就是我的意思:

let object1 = 'Hello'
let object2 = object1

object1 = 'Hello World'

console.log(object1)
console.log(object2)

结果如下:

'Hello World'
'Hello'

我已经尝试过第一种情况使用数组和集合,第二种情况使用数字,我也用 Python 复制了它。谁能解释一下为什么示例 2 的工作方式与示例 1 不同?

数据结构与字符串和数字在内存中的存储方式有区别吗?

老实说,我真的不知道,哈哈!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)