美文网首页
闭包现象

闭包现象

作者: 素明诚 | 来源:发表于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

    相关文章

      网友评论

          本文标题:闭包现象

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