J***aScript的闭包会无法被垃圾回收吗?
你理解反了吧,正因为无法引用到它,所以才会被垃圾回收。
垃圾回收靠的就是从根节点开始遍历所有对象,遍历不到的就是垃圾。
先来演示一个能正常引用的: function outer() { let str = "string"; function inner() { console.log(str); } return inner; } window.foo = outer(); outer 返回的 inner 函数由于被全局变量 foo 所引用,所以相关的一系类对象都不会被垃圾回收。
在 DevTools 内存分析面板可以看到,存在一个 contex…。
本文由自媒体运营网发布,转载联系作者并注明出处:/
评论列表