闭包1

Posted 暗惧者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包1相关的知识,希望对你有一定的参考价值。

闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。
这些外部执行域的非持久型变量保留他们在闭包最初定义(或创建)时的值。
可以访问另外一个函数的内部变量的函数就是闭包。

 

 

案例中return的匿名函数就是一个闭包

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="">
</head>
<body>
    
</body>
</html>
<script type="text/javascript">
    function outFn() {
        var num = 10
        return function () {
            num++;
            console.log(num);
        }

    }
    var fn1 = outFn();
    fn1();//11
    fn1();//12
    var fn2 = outFn();
    fn2();//11
    fn2();//12
</script>

 

以上是关于闭包1的主要内容,如果未能解决你的问题,请参考以下文章

scala编程——函数和闭包

由于lambda闭包或调度程序问题,程序可能会挂起

javascript 匿名函数及闭包----转载

10 个你可能还不知道 VS Code 使用技巧

Python进阶闭包(Closure)

swift闭包_002_swift闭包