什么是 JavaScript 的闭包(Closure)?
What is a JavaScript closure?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: easy
分类: javascript-fundamentals
标签: JavaScript, Closure, 作用域
参考答案摘要
答案 闭包是“函数 + 其词法作用域(lexical environment)”的组合:函数在定义时捕获外层作用域中的变量,即使外层函数已经返回,这些变量仍可被内部函数访问。 闭包常用于:封装私有状态、函数工厂(返回带状态的函数)、回调/事件处理时保留上下文等。 注意:闭包会延长被捕获变量的生命周期,若长期持有引用可能导致不必要的内存占用。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。