美文网首页
对于闭包的一些理解

对于闭包的一些理解

作者: WWWKY | 来源:发表于2018-03-07 17:40 被阅读0次

闭包是由函数和与其相关的引用环境组合而成的实体(wikipedia-闭包

闭包由两部分组成:一是函数,二是与这个函数相关的引用环境,即函数及函数内部能访问到的变量组成了一个闭包

(function fn(){
    var name="小明"
    function showName(){
        console.log(name)
    }
    showName()
})() //小明

函数fn是一个立即执行函数,变量 name 和函数 showName() 就组成了一个闭包,这里变量 name 所在的上下文就是上文所说的引用环境。
对上面的立即执行函数做一点改动:

function fn(){
    var name="小明"
    return function showName(){
        console.log(name)
    }
}
var yourName = fn()
yourName()

代码改动后,我们不在函数fn内部调用函数showName(),而是将showName()函数作为fn函数的返回值返回出来,同时,我们在函数外定义了一个变量yourName来引用函数fn(),因此yourName执行时就相当于fn()被调用,而showName()函数一样需要调用其外部的变量name,因此函数showName()和变量name就组成了一个闭包。

  • 闭包的作用
    闭包可以间接的访问一个变量,也就是可以使一个函数访问到另一个函数内部的变量。

相关文章

  • 对于闭包的一些理解

    闭包是由函数和与其相关的引用环境组合而成的实体(wikipedia-闭包) 闭包由两部分组成:一是函数,二是与这个...

  • 【js基础修炼之路】— 深入浅出理解闭包

    之前对于闭包的理解只是很肤浅的,只是浮于表面,这次深究了一下闭包,下面是我对闭包的理解。 什么是闭包? 引用高程里...

  • JavaScript 作用域闭包

    作用域闭包 启示 对于那些有一点 JavaScript 使用经验但未真正理解闭包概念的人来说,理解闭包可以看作是某...

  • 对于闭包和闭包使用场景的理解

    背景 闭包算是JS中的一个难点,看了挺多文章,但是脑海里关于闭包的形象却仍然不是很清晰,迷雾间隐约瞥见轮廓,这是不...

  • Gradle开发-Groovy闭包

    # 闭包 闭包的基础知识 闭包的使用 闭包 this,owner,delegate 的理解 总结 ## 闭包的基础...

  • 闭包

    概念:闭包是函数和声明该函数的词法环境的组合。 对于闭包的定义大都比较抽象,而我的理解是:闭包就是能够读取其他函数...

  • Python中的闭包是什么?

    目录 作用域(scope) 闭包的定义 闭包的作用 总结 2018.4.15更新了对于函数作用域的理解内容 1.作...

  • Swift5 闭包及其应用

    关于如何理解闭包 学习闭包的第一个难点就是理解闭包,可能很多人用了很久的闭包都还不太清楚闭包到底是什么,我这里提供...

  • JavaScript闭包的理解

    前言 在JavaScript中,闭包对于JavaScript的意义无异于指针在c++中的意义。理解闭包是我们掌握J...

  • JS闭包理解

    闭包的概念 闭包就是能够读取其他函数内部变量的函数。 一、变量的作用域 要理解闭包,首先必须理解Javascrip...

网友评论

      本文标题:对于闭包的一些理解

      本文链接:https://www.haomeiwen.com/subject/lrtdfftx.html