微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

现在,比如说我写:

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 举报,一经查实,本站将立刻删除。