堆或堆栈上的Javascript闭包?

Mic*_*ner 9 javascript heap stack closures

JavaScript(根据标准)存储闭包在哪里:堆还是堆栈?
关闭是否有第三个明确的位置?

agg*_*sol 5

最后,它是运行时的实现细节.见凤凰链接

至于实现,为了在上下文被破坏后存储局部变量,基于堆栈的实现不再适合(因为它与基于堆栈的结构的定义相矛盾).因此,在这种情况下,父上下文的关闭数据被保存在动态内存分配中(在"堆"中,即基于堆的实现中),使用垃圾收集器(GC)和引用计数.这种系统的速度低于基于堆栈的系统.但是,实现可能总是优化它:在解析阶段找出,是否在函数中使用自由变量,并根据此决定 - 将数据放在堆栈中或"堆"中.