什么是 JavaScript 的闭包(closure)?为什么/什么时候要用闭包?
What is a JavaScript closure? Why/when would you use it?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: easy
标签: Salesforce, Closure, Scope
目标岗位: UI Developer, Frontend Engineer, Web Developer
目标公司: Salesforce
参考答案摘要
答案 闭包 指:函数能够“记住并访问”它创建时的词法作用域(lexical scope),即使该函数在其词法作用域之外执行,也仍然能访问外层变量。 为什么有用 封装私有状态 :把状态藏在外部不可直接访问的作用域里(类似私有变量)。 回调/异步保持上下文 :事件处理、定时器、Promise 回调里需要读写外部变量。 函数工厂 :根据参数生成带有“记忆”的函数。 经典例子:计数器 function c...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。