闭包(closure)

闭包是函数和声明该函数的词法环境的组合。

我的理解是,闭包就是能够读取其他函数内部变量的函数。

闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。

形成闭包有3步

  1. 外层函数嵌套内层函数
  2. 内层函数使用外层函数的局部变量
  3. 把内层函数作为外层函数的返回值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 之前对闭包的理解就是函数嵌套,内层函数使用了外层函数的变量,然后外层函数执行时返回内层函数。很绕的样子。。。 最近...
    holysu阅读 281评论 5 1
  • 闭包是函数和声明该函数的词法环境的组合。MDN MDN上的栗子 JavaScript中的函数会形成闭包。 闭包是由...
    小小的白菜阅读 676评论 2 10
  • 前言 闭包(closure)这个词是在学习JavaScript过程中经常被提到的,很多人一开始都对此有些迷惑,然后...
    姬艾思阅读 9,688评论 7 6
  • JavaScript 变量可以是局部变量或全局变量。私有变量可以用到闭包。 简单点说闭包就是JS中用来实现私有变量...
    wfmm1990阅读 548评论 0 0
  • ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...
    lzyuan阅读 962评论 0 0