logo

什么是 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 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

什么是 JavaScript 的闭包(closure)?为什么/什么时候要用闭包?

Easyjavascript

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案