2017-10-11 63 views
0

我正在看JavaScript中的事件循环,它不断提及单词堆。我能找到解释的唯一来源是MDN网站上的一个小线定义:什么是JavaScript事件循环的上下文中的堆?

对象在堆这仅仅是表示一个大的内存 大多是非结构化的区域名称分配。

有人可以提供一个更详细的解释什么是JavaScript的JavaScript事件循环意义,以及它在JavaScript中的作用?

+0

我假设你知道什么是S堆栈和任何编程语言堆内存。 –

+0

不幸的是我没有。没有通过CS计划的乐趣。 – the12

+0

相关:https://stackoverflow.com/questions/79923/what-and-where-are-the-stack-and-heap(简短的粗略定义:堆是存储对象的内存) – tevemadar

回答

0

一般来说,堆(非JS)的术语很好地解释了其他 - 在SO上,并且还在问题的评论中链接。

不同的JS实现(引擎)具有分配内存的堆栈和堆栈,但这并不真正作为高级语言用户向您提供。 JS是一种垃圾收集语言,所以从创建的对象(使用new或[])的生命周期(范围)角度考虑避免频繁的垃圾收集和对象的重新创建通常会更有帮助。

可能感兴趣的: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management

和: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Variable_scope

+0

对象的生命周期与作用域无关。 – Bergi

+0

@ Bergi,它可能有点滑稽表达。但是,除非存在外部参考,否则超出范围的对象将成为GC的候选对象。 – visibleman