javascript - 这是关于内存中指针或引用对象的问题
问题描述
现在,比如说我写:
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 不同?
数据结构与字符串和数字在内存中的存储方式有区别吗?
老实说,我真的不知道,大声笑!
解决方案
推荐阅读
- swift - 泛型类的 Swift 扩展类型约束,其中泛型类型是另一种泛型类型
- javascript - php pdo charset utf8 mysql : unable to find an accentuated field
- java - 将视频转换为 GIF
- javascript - Warning about unmounted component
- python - 插入文档字符串的 Spyder 快捷方式?
- python - 如何通过 .py 运行 blob 数据传输
- python - 取嵌套字典中的常用值
- css - Wordpress 切换折叠速度(Avada 主题)
- c# - 是否可以在不支持绑定的属性中使用 ViewModel 的属性?
- sql - 从网络共享文件夹导入时绕过 SQL BULK INSERT 语句访问/双跳问题的方法?