JavaScript 中的闭包是什么?你将如何/为什么要使用它?
What is a closure in JavaScript, and how/why would you use one?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Closures & Scope
标签: closure, javascript
目标公司: amazon, linkedin, microsoft, salesforce, bytedance
参考答案摘要
TL;DR 在 Kyle Simpson 撰写的 "You Don't Know JS" (YDKJS) 一书中,闭包定义如下: 闭包是指一个函数能够记住并访问其词法作用域,即使该函数在其词法作用域之外执行 简单来说,函数可以访问它们在创建时在其作用域中的变量。 这就是我们所说的函数的词法作用域。 闭包是一个函数,即使外部函数执行完毕后,它仍然保留对这些变量的访问权限。 这就像函数记住了它最初的环...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。