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

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

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

最新文章

  1. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转
  2. 深入理解JavaScript系列:为什么03-0.2不等于0.1
  3. CE 进程同步-事件
  4. Gliffy
  5. 李洪强iOS开发之断点续传1
  6. RotatingDoughnut
  7. jsp The requested resource (/demo10/loginBean) is not available.
  8. 可以直接拿来用的15个jQuery代码片段
  9. Python md5 sha1 的使用
  10. iPhone应用程序开发基础之一: IBOutlet与IBAction
  11. windows2012 r2 提高网速方法
  12. Python标准库概览
  13. IBM developer:Kafka ACLs
  14. 动手做webserver的核心之http解析
  15. Vue.js简单记录
  16. mysqldump命令之single-transaction
  17. jenkins和gitlab结合的时候出错
  18. MySQL导入数据遇到Error Number: 1467 Failed to read auto-increment value from storage engine错误
  19. 《jQuery基础教程》读书笔记
  20. c++ stringstream的使用

热门文章

  1. Js 日期 多少分钟前,多少秒前
  2. Java多线程与静态方法
  3. addEventListener详解
  4. JS监听输入框值变化兼容 onpropertychange、oninput
  5. CheetSheet
  6. pdf2htmlEx安装及测试
  7. 白银5kg
  8. ListView 的优化
  9. MYSQL性能优化的最佳20+条经验
  10. centos 研究