JS的垃圾回收机制概念:
js的垃圾回收机制就是通过自动内存管理实现内存分配和闲置资源回收。
实现垃圾回收机制的方法(两种)
1.标记清除(常用)
标记内存中存储的所有变量。然后它会将所有在上下文中的变量,以及被在上下文中的变量引用的变量的标记去掉。在此之后再被加上标记的变量就是待删除的了,原因是任何在上下文中的变量都访问不到它们了。
2.引用计数
对每个值记录它被引用的次数。声明变量并赋予一个引用值时,这个值的引用数是 1。如果同一个值又被赋予另一个变量,那么引用数加 1。类似地,如果保存对该值引用的变量被其他值给覆盖了,那么引用值减 1。当这个值的引用数为 0 时,就说明没有办法再访问到这个值了,因此可以安全地收回其内存了。
闭包的三个特性:
1、函数嵌套函数
2、函数内部可以引用函数外部的参数和变量
3、参数和变量不会被垃圾回收机制回收