一、1、我们探究这个问题的时候如果按照正常的思维顺序,需要知道闭包是什么它是什么意思,但是这样做会让我们很困惑,了解这个问题我们需要知道它的来源,就是我们为什么要使用闭包,先不管它是什么意思!
      2、我们使用闭包是因为js的作用域问题,前面我们已经对作用域了解了一些,在函数中,外部不能读取到内部的变量,而内部可以读取到外部的变量,这其实也是js特殊的一个地方!(这个特殊其实是因为函数的作用域是一条作用域链,而且作用域链是有顺序的,我们称之为链式作用域结构!)那么问题来了,如果我们想要从函数外部读取到局部的变量呢,那么闭包也就应运而生了!
      3、我们来举一个例子:

4、到这里我们就可以研究什么是闭包了,简单一句话:闭包就是能够读取其它函数内部变量的函数!本质上的闭包:就是函数外部和函数内部连接的桥梁!
      我们可以再深入一步的了解闭包,举例:

二、我们可以再深入一步,举例:   
      闭包中函数如果有参数怎么办?它会怎么传递?

最新文章

  1. QT 中 关键字讲解(emit,signal,slot)
  2. 【python】python定时器
  3. Java基础知识学习(三)
  4. Pythonn new-style class and old-style class
  5. dreamwaver cs6 主题配色方案
  6. echart 扩展地图不显示问题
  7. R语言学习笔记:小试R环境
  8. 《A First Course in Probability》-chape1-组合分析-二项式定理
  9. AC自动机学习笔记
  10. 内存泄露 Memory Leaks
  11. commons-logging和slf4j都是日志的接口
  12. 在WPF中使用PlaneProjection模拟动态3D效果
  13. CodeForces 703D Mishka and Interesting sum
  14. C#设计模式--简单工厂模式
  15. thinkpad E480 用户初体验
  16. 杭电ACM2010--水仙花数
  17. 搭建ssh框架项目(五)
  18. okvis源码解读
  19. legend2---开发日志6(后端和前端如何相互配合(比如php,js,元素状态和数据改变))
  20. 第二章 向量(d1)有序向量:唯一化

热门文章

  1. Web应用性能优化思路
  2. 请慎用java的File#renameTo(File)方法
  3. mysql提供dataprovider
  4. css中“~”和“>”是什么意思?
  5. ***IT程序员自我修养和情商提升文章
  6. Datazen配置
  7. Python-socket网络编程
  8. gdb的可视化工具安装
  9. 将 xunit.runner.dnx 的 xml 输出转换为 Nunit 格式
  10. 通过FileHandle获取FileObject对象