只要存在调用内部函数的可能,JavaScript就需要保留被引用的函数。而且JavaScript运行时需要跟踪引用这个内部函数的所有变量,直到最后一个变量废弃,JavaScript的垃圾收集器才能释放相应的内存空间
function outerFun()
{
console.log("outer function-----")
let innerVar=0;
function innerFun()
{
innerVar++;
console.log(`innerVar----${innerVar}`);
}
return innerFun
}
var fn=outerFun();
fn();
fn();
fn();