【问题标题】:Where are values stored in JavaScript?JavaScript 中的值存储在哪里?
【发布时间】:2020-07-31 05:40:02
【问题描述】:

我听说在 JavaScript 中,原始类型存储在堆栈中,而对象存储在堆中。即使对于函数执行范围内的值,所有情况都是如此吗?此外,所有全局范围的变量和函数是否都存储在 JavaScript 中的全局对象(浏览器中的窗口)上,这被认为是“堆”还是堆的一部分?还是原始类型本身存储在堆栈上,引用类型存储在堆上,然后将标识符作为属性添加到全局对象并指向堆栈/堆上的那些值?

【问题讨论】:

  • 像 JavaScript 这样的语言的好处在于,对于绝大多数编程情况,您根本不必担心这一点。
  • @Pointy 非常感谢您的回复! :)

标签: javascript stack heap-memory


【解决方案1】:

没有堆也没有栈。 JavaScript 的内存模型非常抽象。事情如何最终进入您的计算机内存完全取决于引擎。鉴于现代引擎执行了大量优化,即使在不同的优化阶段,值也可能最终出现在内存的不同区域中,所以我们真的无法分辨。

【讨论】:

  • 感谢您的回复,乔纳斯! :)
猜你喜欢
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多