闭包定义

在JavaScript中,当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。简单说,闭包就是能够读取其他函数内部变量的函数。

闭包的作用:
1. 可以读取函数内部的变量
2. 让这些变量的值始终保持在内存中。 

闭包简单应用

例一:

function a() { var i = 0; function b() {console.log(++i);} return b;
}
var c = a();        //执行完var c=a()后,变量c指向了函数b,再执行c()后就会显示i的值(为1)。
c();                //输出1

例二:

(function() {
var i = 0; return function(){console.log(++i);}
})()();                    //输出1

例三:

(function(i) { return function(){console.log(++i);}
})(0)();                  //输出1

例四:

for (var i = 0; i < 3; i++) {setTimeout((function(i) {             return function() {console.log(i);};})(i), 2000);console.log(i+10);
}                      //输出 10 11 12 (隔两秒后)0 1 2

例五:

for (var i = 0; i < 3; i++) {setTimeout((function(i) {return function() {console.log(i);};})(i)(), 2000);console.log(i+10);
}                     //立即输出 0 10 1 11 2 12 ,(两秒后运行程序结束)

转载于:https://www.cnblogs.com/cckui/p/7461998.html

JavaScript闭包简单应用相关推荐

  1. Javascript闭包简单理解

    Javascript闭包简单理解 原文:Javascript闭包简单理解 提到闭包,想必大家都早有耳闻,下面说下我的简单理解. 说实话平时工作中实际手动写闭包的场景并不多,但是项目中用到的第三方框架和 ...

  2. javascript闭包简单实例

    1 闭包实例 下图是一个闭包实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  3. Javascript闭包和闭包的几种写法及用途

    好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法.用法和用途.  一.什么 ...

  4. JavaScript学习总结(十六)——Javascript闭包(Closure)

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.很早就接触过闭包这个概念了,但是一直糊里糊涂的,没有能够弄明白JavaScript的闭包到底是什 ...

  5. Javascript闭包,比较好懂的一篇文章

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 下面就是我的学习笔记,对于Javascript初学者应该是很有用的. 一.变量的作用域 要理解 ...

  6. 全面理解Javascript闭包和闭包的几种写法及用途【转】

    一.什么是闭包和闭包的几种写法和用法 1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. ...

  7. 通过示例学习JavaScript闭包

    译者按: 在上一篇博客,我们通过实现一个计数器,了解了如何使用闭包(Closure)**,这篇博客将提供一些代码示例,帮助大家理解闭包. 原文: JavaScript Closures for Dum ...

  8. JavaScript闭包原理与用法实例

    ###1.与闭包有关的两个概念: (1)变量的作用域 不带有关键字var的变量会成为全局变量: 在函数中使用关键字var声明的变量是局部变量. 局部变量只有在函数内部才能访问到,在函数外面是访问不到的 ...

  9. 全面理解Javascript闭包和闭包的几种写法及用途

     一.什么是闭包和闭包的几种写法和用法 1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. ...

最新文章

  1. python使用正则化检查字符串的起始和结束字符相同
  2. 布局覆盖 超出一部分_Android 布局优化
  3. iOS标准库中常用数据结构和算法之内存池
  4. 构建一个业务连续的网络
  5. UML实践---用例图、顺序图、状态图、类图、包图、协作图
  6. 排序算法:冒泡和快排 摘自网络
  7. 使用Arquillian(远程)测试OpenLiberty
  8. 外星人做系统logo_深圳福田外星人笔记本电脑维修服网点
  9. 九章基础算法04:二叉搜索树与哈希表
  10. Git-github 的基本应用
  11. matlab 遗传算法 等式约束,关于MATLAB遗传算法工具箱不等式约束
  12. Ubuntu系统安装Java JDK和HDFView
  13. java hl7v3_hl7 java 解析
  14. 西部旅游杂志西部旅游杂志社西部旅游编辑部2022年第19期目录
  15. Android的holder机制
  16. Linux防止stack缓冲区溢出的有效方法
  17. 疯癫的我到了巅峰 -- 我的成人礼
  18. 归并排序,快速排序为什么快
  19. php公众号开发配置网页域名,微信公众号网页开发授权配置流程
  20. 可怜的RSA【网络攻防CTF】(保姆级图文)

热门文章

  1. CxImage使用心得(转载)
  2. 读jquery 权威指南[4]-Ajax
  3. Spring 整合 Disruptor 第一个版本
  4. JS学习:第一周——NO.1预解释
  5. export `=' not a valid identifier的一般原因
  6. [系列教程] Discuz模板的制作方法
  7. jxl操作excel样式设置
  8. Sequelize Unknown column 'createdAt' in 'field list'?
  9. 通信原理实践(一)——音频信号处理
  10. 保持ssh的连接不断开