// f一直执行下去不会结束,所以变量不会被GC。
function f() {
let _1MB = 1024 * 1024
let mem = new uint8array(_1MB)
f()
}
// 异步方式即可解决,只是将函数推入当前执行上下文以外保存,所以当前函数属于已经执行完毕。
function f() {
let _1MB = 1024 * 1024
let mem = new uint8array(_1MB)
// setTimeout(f, 0)
queueMicrotask(f)
}