谈谈 JS 垃圾回收机制(day03)

垃圾回收

JavaScript 中的内存管理是自动执行的,并且是不可见的。咱们建立基本类型、对象、函数……全部这些都须要内存。

当再也不须要某样东西时会发生什么? JavaScript 引擎是如何发现并清理它?

可达性

JavaScript 中内存管理的主要概念是可达性。

简单地说,“可达性” 值就是那些以某种方式可访问或可用的值,它们被保证存储在内存中。

1. 有一组基本的固有可达值,因为显而易见的缘由没法删除。例如:

本地函数的局部变量和参数
当前嵌套调用链上的其余函数的变量和参数
全局变量
还有一些其余的,内部的
这些值称为根。

2. 若是引用或引用链能够从根访问任何其余值,则认为该值是可访问的。

例如,若是局部变量中有对象,而且该对象具备引用另外一个对象的属性,则该对象被视为可达性。

相关文章
相关标签/搜索