美文网首页
闭包现象

闭包现象

作者: 素明诚 | 来源:发表于2020-09-12 18:22 被阅读0次

一、什么是闭包?声明一个变量,声明一个函数,在函数内部访问外部的变量,那么这个函数加这个变量叫做闭包。

简单闭包
在这里想打印的变量a在自己的大括号内找不到,只能去外面找。这种情况叫闭包。

二、闭包有何作用?

1、闭包的用途是间接访问一个变量或隐藏一个变量,我们无法直接访问到函数内部的变量,必须通过一个函数间接的访问到
2、可以把变量的值保存在内存中;即使暂时没有使用。
function foo() {
    var a = 2
    function bar() {
        console.log(a)
    }
    return bar
}

上面的代码中,变量a和函数bar组成了一个闭包。return bar只是为了bar能够被使用,跟闭包无关。

3.所有的变量的查找,是在函数定义的地方,向上级作用域查找,而不是在执行的地方

function print(fn){
    const a =200
    fn()
}
const a=100
function fn(){
    console.log(a)
}
print(fn)//100

他为啥不打印200呢?因为他要向上查找,他不会去找那个200

相关文章

  • 闭包现象

    在一个函数内部,有权访问另一个函数中的变量(并且能够随时访问)! 尽量不要去看长篇大论关于闭包的解释,很容易把自己...

  • 闭包现象

    一、什么是闭包?声明一个变量,声明一个函数,在函数内部访问外部的变量,那么这个函数加这个变量叫做闭包。 二、闭包有...

  • 闭包简易分析

    ---title: 技术分享篇---Welcome ## 闭包现象 ### 1.什么是闭包- 闭包是就是函数中的函...

  • js里闭包现象

    当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。 下面用一些代码来解释这...

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

  • 对闭包的一点理解

    什么是闭包 我理解的就是在一个作用域中可以访问另一个作用域的变量,这种现象叫做闭包。 最简单的闭包形式就是在一个函...

  • 闭包,闭包,闭包

    1、这家伙到底是什么? 网上关于这个的讨论的太多了太多了,有各种的举例子,但是大部分还在寻找这个答案的小伙伴对于变...

  • 闭包-Closures [swift 5.1]

    闭包的语法 尾随闭包 闭包逃离 自动闭包

  • Day7 闭包(Closures)

    本页包含内容:• 闭包表达式• 尾随闭包• 值捕获• 闭包是引用类型• 逃逸闭包• 自动闭包 1、闭包表达式 闭包...

  • Python闭包

    闭包 = 环境变量 + 函数 调用闭包内部的环境变量 闭包的经典误区 闭包与非闭包实现人类走路 非闭包 闭包

网友评论

      本文标题:闭包现象

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