jsx
function A(){
const a = 1;
const b = 2;
return function B(){
console.log(a)
}
}
上面代码中,a 被 B 引用了,形成了闭包,B函数携带了 a 创建时的词法环境,所以其存储于堆内存中、不被回收(如果在栈内存上会导致需要引用的时候已经出栈了);b 没有被引用,只会在 A 的执行上下文中、短暂的存在栈内存中,在 A 执行结束后变得不可达