如何理解闭包?

原创 2016年06月02日 09:27:00

摘抄网上一个人的解释。

闭包很简单,就是在函数定义时把函数外部的环境打包进函数内,使得在函数体内可以访问到函数体外的环境(主要是访问函数体外的变量)

// 假设这里的环境为 (1)

function(){
  // 假设这里的环境为 (2)

  function(){
    // 假设这里的环境为 (3)

  };
};

在环境(1)中只能访问到环境(1)的变量,但是环境(2)中能同时访问到环境(1)(2)中的变量。环境(3)中能同时访问到环境(1)(2)(3)中的变量。

函数在定义时,把函数体外部的环境全部打包进了函数,使得函数体内可以访问到函数体定义外面的环境。这个函数+所打包的外部环境就称之为闭包。

相关文章推荐

js闭包理解之倒计时

  • 2014年07月11日 15:07
  • 587B
  • 下载

闭包的理解

  • 2015年10月24日 21:06
  • 759B
  • 下载

深入理解javascript原型和闭包(6)——继承

转载自:http://www.cnblogs.com/wangfupeng1988/p/3979985.html 为何用“继承”为标题,而不用“原型链”? 原型链如果解释清楚了...

理解_JavaScript_闭包

  • 2011年12月27日 16:37
  • 51KB
  • 下载

深入理解javascript原型和闭包

  • 2015年11月30日 16:37
  • 1.17MB
  • 下载

深入理解JavaScript的闭包特性 如何给循环中的对象添加事件

深入理解JavaScript的闭包特性如何给循环中的对象添加事件 初学者经常碰到的,即获取HTML元素集合,循环给元素添加事件。在事件响应函数中(event handler)获取对应...

深入理解javascript原型和闭包(4)——隐式原型

转载自:http://www.cnblogs.com/wangfupeng1988/p/3979290.html 注意:本文不是javascript基础教程,如果你没有接触过原型的基...

javascript深入理解js闭包

看了很多关于闭包的资料,觉得这个还不错,转载下,以共勉。 -------------写在前面 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠...

深入浅出理解JavaScript的闭包概念

原文出处:https://my.oschina.net/ym1983/blog/829314 闭包,是 JavaScript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECM...

深入理解javascript原型和闭包(18)——补充:上下文环境和作用域的关系

深入理解javascript原型和闭包(18)——补充:上下文环境和作用域的关系 本系列用了大量的篇幅讲解了上下文环境和作用域,有些人反映这两个是一回儿事。本文就用一个小例子来说明一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何理解闭包?
举报原因:
原因补充:

(最多只允许输入30个字)