代码如下:
function foo(){
console.log('foo')
return function bar() {
console.log('bar')
}
}
var bar = foo()
即定义一个函数,内部返回另一个函数。
然后用bar保存了内部函数。
问题是:在这种情况下,函数foo是否会被回收?
若bar引用了foo中定义的变量,会导致foo不会被回收,但此情况下,会有区别吗?
当前理解是,foo会被回收,但鉴于此问题,不是很好测试,也不知道怎么去测试,故想咨询各位大佬,确定下这个问题的答案,谢谢。
如有错误麻烦指出,谢谢
使用最新版 chrome 浏览器运行:
需要等好一会。