【问题标题】:How JavaScript stores variables in call stackJavaScript 如何在调用堆栈中存储变量
【发布时间】:2020-05-12 21:49:02
【问题描述】:

调用堆栈用于在调用和返回函数时推送和弹出函数,但我真正想了解的是,一旦加载脚本,变量就会被放置在调用堆栈的顶部,或者它们被放置在堆栈作为 JavaScript 引擎逐行遍历脚本。 谢谢你。

【问题讨论】:

  • 如果我告诉你它们甚至最终会出现在堆上(有时)怎么办?你到底为什么想知道这个(因为这是一个非常复杂的话题,我可以写一本关于它的书[而且会很糟糕])
  • 如何在“脚本加载后”完成此操作? JS 是一门动态语言,不可能静态地判断哪些函数将在什么时候调用以及使用什么参数。
  • @JonasWilms 首先感谢您考虑我的问题,我所说的变量是原始的,但我的错。我实际上正在尝试深入了解 JavaScript 在幕后是如何工作的,有什么资源可以分享以便我完成工作吗?
  • @RobinZigmond,感谢您回答我的问题,实际上我刚刚开始学习 JavaScript,脑子里有很多问题。如果你能分享一些好的资源让我的旅程更轻松,我会很感激你

标签: javascript memory-management


【解决方案1】:

这是第二个。 因为 Javascript 是一种动态语言,所以它不会处理函数调用,直到它逐行运行脚本,然后将它们推送到调用堆栈。

【讨论】:

  • 这太简单了,这并不是它真正的工作原理......但我想这仍然是我们可以给 OP 的最佳答案(目前)
猜你喜欢
  • 2015-03-09
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 2016-03-05
  • 2015-05-27
  • 2021-06-28
  • 2015-01-24
  • 2017-11-16
相关资源
最近更新 更多