Skip to content

Latest commit

 

History

History
25 lines (14 loc) · 934 Bytes

527.md

File metadata and controls

25 lines (14 loc) · 934 Bytes

什么是闭包,闭包的应用有哪些地方

::: tip Issue 欢迎在 Issue 中交流与讨论: Issue 527 :::

::: tip Author 回答者: liweinandever :::

闭包是一个函数, 其可以记住并访问外部变量.

在函数被创建时, 函数的隐藏属性 [[Environment]] 会记住函数被创建时的位置, 即当时的词法环境 Lexical Environment

这样, 无论在哪里调用函数, 都会去到 [[Environment]] 所引用的词法环境

当查找变量时, 先在词法环境内部查找, 当没有找到局部变量时, 前往当前词法环境所记录的外部词法环境查找

我知道的闭包的应用: 封装私有变量和处理回调函数

前端新人, 理解浅薄, 如果有错希望您指出

学习来源为 JavaScript.info/Closure