为客户维护权益,是我们永远不变的使命!
J***aScript的闭包会无法被垃圾回收吗?
2025-06-25 08:35:16 上一篇 : 1MB其实是一个很大的存储单位,那么它的存储容量究竟有多大? | 下一篇 : 有哪些小众的开源项目养活了一大批人?
你理解反了吧,正因为无法引用到它,所以才会被垃圾回收。
垃圾回收靠的就是从根节点开始遍历所有对象,遍历不到的就是垃圾。
先来演示一个能正常引用的: function outer() { let str = "string"; function inner() { console.log(str); } return inner; } window.foo = outer(); outer 返回的 inner 函数由于被全局变量 foo 所引用,所以相关的一系类对象都不会被垃圾回收。
在 DevTools 内存分析面板可以看到,存在一个 contex…。