什么是闭包(Closure)?你会如何/为什么使用它?
What is a closure, and how/why would you use one?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: easy
分类: javascript-fundamentals
标签: Closure, Scope
参考答案摘要
答案 闭包是“函数 + 它创建时的词法作用域环境”的组合:内部函数可以在外层函数返回后继续访问外层作用域变量。 常见用途:封装私有状态(模拟私有变量/方法)、模块模式、函数工厂(带状态的返回函数)、部分应用/柯里化等。 注意闭包会延长变量生命周期,长时间持有引用可能造成不必要的内存占用。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。