面试官: 翻译翻译什么 TM 叫 闭包

60 阅读1分钟

闭包是绑定执行环境的函数, 所以其实在 JS 环境中,每一个函数都是闭包。因为可以往问全局变量。

而常见的闭包应用是在函数a里面返回一个函数b,而当执行函数b时,函数b一就可以引用函数a运用于中定义的变量。

从V8层面看,引擎执行一段儿闭包代码的时候。遇到函数a 预解析内部声明的函数b 发现有引用,将a被引用的变量复制一份到堆中。