我听说在 JavaScript 中,基本类型存储在堆栈上,而对象存储在堆上。对于所有情况,甚至对于函数执行范围内的值,都是如此吗?此外,所有全局范围的变量和函数都存储在 JavaScript 中的全局对象(浏览器中的窗口)上吗?这是否被视为“堆”或堆的一部分?或者原始类型本身存储在堆栈上,引用类型存储在堆上,然后将标识符作为属性添加到全局对象并指向堆栈/堆上的这些值?
最佳答案
没有堆也没有栈。 JavaScript 的内存模型非常抽象。事物如何最终进入计算机内存完全取决于引擎。鉴于现代引擎执行了大量优化,即使在不同的优化阶段,值也可能最终出现在内存的不同区域,所以人们真的无法判断。
关于javascript - JavaScript 中的值存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61276391/