`
MirrorAvatar
  • 浏览: 46422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ECMAScript闭包(Closure)涉及到的相关知识

阅读更多

最近在看:Scope Closure,总结一下这一章中重要的知识结构。

 

首先,祭出自己画的这个知识导图:



然后,来说一下对闭包(Closure)的理解:

写道
Closure is when a function can remember and access its lexical scope even when it's invoked outside its lexical scope.

 

  1.  其中有个短语重复了两次:lexical scope,词法作用域。闭包就是基于词法作用域规则的。
  2. 当有个callback函数的时候,那里就会有一个作用域。
  3. IIFE会创造一个作用域,经常和闭包结合在一起实现一些意想不到的功能。比如for-loop里的那个打印
  4. 闭包经常用于创造Module。IIFE和Module结合在一起使用,可以组成Revealing Module Pattern。通过IIFE创造一个实例,通过返回一个属性是Function的Object来当Module的API。

知识理解的还不透彻,以后会重构。

 

  • 大小: 24.5 KB
分享到:
评论

相关推荐

    闭包概念原理

    闭包(closure)。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的

    javascript闭包详解中文word版

    本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAscript语言规范来使读者可以更深入的理解闭包。闭包是Closure, 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    JavaScript闭包

    Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态...本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAScript语言规范来使读者可以更深入的理解闭包。

    深入理解JavaScript系列(16) 闭包(Closures)

    介绍 本章我们将介绍在JavaScript里大家经常来讨论的... 英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-6-closures/ 概论 在直接讨论ECMAScript闭包之前,还是有必要来看一下函数式编程中一些基本定义。

    JavaScript中的闭包(Closure)详细介绍

    闭包是JavaScript中一个重要的特性,其最大的作用在于保存函数运行过程中的信息。在JavaScript中,闭包的诸多特性源自函数调用过程中的作用域链上。   函数调用对象与变量的作用域链   对于JavaScript中的每一次...

    Javascript的闭包详解

    本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ECMAScript语言规范来使读者可以更深入的理解闭包。 注:本文是入门文章,例子素材整理于网络,如果你是高手,欢迎针对文章提出技术性建议和意见。本文...

    Javascript闭包实例详解

    但是闭包也不是什么复杂到不可理解的东西,简而言之,闭包就是: 闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。 闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些...

    Javascript的闭包

    简介 Closure 所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 闭包是 ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提...

    理解Javascript闭包

    闭包是ECMAScript一个很重要的特征,但是却很难用合适的定义来描述它。虽然闭包很难清晰地描述,但是,却很容易创建,或者说,不小心创建。然而,闭包的存在其实是有一定的潜在问题的。为了避免“不小心”地创建闭包...

    从理论角度讨论JavaScript闭包

    本文将介绍一个在JavaScript经常会拿来讨论的话题 —— 闭包(closure)。 闭包其实已经是个老生常谈的话题了; 有大量文章都介绍过闭包的内容, 尽管如此,这里还是要试着从理论角度来讨论下闭包, 看看ECMAScript...

Global site tag (gtag.js) - Google Analytics