const f = function () {
  let v = "string";

  let c = function () {
    v = document.createElement("div");
  }

  let p = function () {
    console.log(v);
  }

  return { c, p }
}

f().c();

f().p(); // string

在调用f().c()以后,f没有被其他资源,被立即释放,即f().c()以后被GC;

如何才能不被自动GC:

let o = f();

o.p(); // string

o.c();

o.p(); // <div></div>

如何手动释放:

o = null;

o = f();

o.p(); // string