没有变量的嵌套函数中是不是存在闭包
Posted
技术标签:
【中文标题】没有变量的嵌套函数中是不是存在闭包【英文标题】:Does Closure exist in a Nested function without variables没有变量的嵌套函数中是否存在闭包 【发布时间】:2022-01-10 19:56:49 【问题描述】:我们可以说这段代码中存在闭包
function foo()
return function foo2()
console.log("Inner Function");
let x = foo();
x();
【问题讨论】:
【参考方案1】:不,这里的内部函数不是闭包。它没有访问范围之外的任何变量。
这是来自 chrome 控制台的快照。
但是当内部函数访问一个定义在其范围之外的变量时,整个环境,即引用其周围环境的函数,就变成了一个闭包。您可以在控制台中看到范围关闭
【讨论】:
无论变量如何,都会创建错误的闭包以上是关于没有变量的嵌套函数中是不是存在闭包的主要内容,如果未能解决你的问题,请参考以下文章