Mic*_*ner 9 javascript heap stack closures
JavaScript(根据标准)存储闭包在哪里:堆还是堆栈? 关闭是否有第三个明确的位置?
agg*_*sol 5
最后,它是运行时的实现细节.见凤凰链接
至于实现,为了在上下文被破坏后存储局部变量,基于堆栈的实现不再适合(因为它与基于堆栈的结构的定义相矛盾).因此,在这种情况下,父上下文的关闭数据被保存在动态内存分配中(在"堆"中,即基于堆的实现中),使用垃圾收集器(GC)和引用计数.这种系统的速度低于基于堆栈的系统.但是,实现可能总是优化它:在解析阶段找出,是否在函数中使用自由变量,并根据此决定 - 将数据放在堆栈中或"堆"中.
归档时间:
12 年,8 月 前
查看次数:
1527 次
最近记录:
12 年,2 月 前