![]() |
1
0
是的,但这并不是基元独有的,对象也会发生这种情况。如果你这样做:
新对象存储在另一个内存位置,第一个对象可以被垃圾回收(假设没有其他对象引用它)。
当他们说基元是不可变的时,他们的意思是别的。它们意味着你不能对记忆中的那个位置进行更改。例如,
在严格模式下,你要么会得到一个错误,要么在非严格模式下什么都不会发生。 相比之下,对象 可以 被突变。您可以更改它们所包含的内容,同时仍将它们保留在内存中的同一位置:
|
![]() |
2
0
你在这里点击,旧值和新值占据了不同的内存位置。
说
当你这样做的时候
因此,在Javascript中,基元是不可变的,每个新赋值在内存中创建一个新值,而不是修改现有值。 |
![]() |
TheKing · 为什么数组的地址可以有负值? 3 年前 |
![]() |
yurnero · MATLAB:“加载”一个快速访问功能 7 年前 |
![]() |
joe · 一页可以同时在两个工作集中吗? 7 年前 |
![]() |
Jaques · “.exe”已触发断点 7 年前 |
![]() |
adn bps · 在函数中修改变量的高效内存方法 7 年前 |
![]() |
Gauraang Khurana · C语言中分段错误的不稳定行为 7 年前 |
![]() |
Rajesh K · 如何查找设备中存在的广告垃圾? 7 年前 |