闭包

作者: 洛洛kkkkkk | 来源:发表于2017-04-18 19:45 被阅读0次
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            div{
                width: 200px;
                height: 200px;
                background-color: red;
                float: left;
                margin: 20px;
                font-size: 100px;
                line-height: 200px;
                text-align: center;
                color: white;
            }
        </style>
    </head>
    <body>
        <div class="div1">1</div>
        <div class="div2">2</div>
        <div class="div3">3</div>
        <div class="div4">4</div>
        <div class="div5">5</div>
    </body>
    <script type="text/javascript">
    var divs=document.querySelectorAll("div");
        for(var i=0;i<divs.length;i++){
                function click(num) {
                    divs[i].onclick=function () {
                    console.log(num);
                }
                }
                click(i);
            }
        
        
        //闭包。函数内部的函数就是闭包
        //1、通过闭包可以访问函数内部的局部变量
        
        //根据闭包可以保存当时函数内部局部变量的值得特性,可以使用下面这种方式来解决点击DIV的
//      时候I始终为5这种情况
        function test1 (num) {
            var j=num;
            console.log("1的值"+j);
            function test2 () {
                console.log(j);
            }
            return test2;
        }
//      var fn = test1();
//      fn();
        //2、每次访问tset1得到的test2是不一样的函数。
        //两个test2不一样,意味着,他们的空间不是同一块内存空间。
        var fn2 = test1(100);
        fn2();
        var fn3 = test1(200);
        //fn2和fn3是两个不同的函数,里面的j虽然都是引用的test1里面的J值,但是他们都不是同一个变量
        //fn2,fn3各自在自己的内部空间储存了原来的J值
        fn2();
//      console.log(fn2===fn3);
        
    </script>
</html>

相关文章

  • swift-闭包

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

  • 闭包,闭包,闭包

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

  • 闭包-Closures [swift 5.1]

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

  • Day7 闭包(Closures)

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

  • Python闭包

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

  • 闭包(closure)

    ● 闭包基础 ● 闭包作用 ● 闭包经典例子 ● 闭包应用 ● 闭包缺点 ● 参考资料 1、闭包基础 作用域和作...

  • swift- 闭包一

    /*• 闭包表达式• 尾随闭包• 值捕获• 闭包是引用类型• 逃逸闭包• 自动闭包*/

  • (9) python之闭包

    闭包闭包 = 函数 + 环境变量(函数定义的时候) 一个最简单的闭包 闭包不受外部变量影响 非闭包 闭包 闭包 只...

  • Swift-进阶 :闭包(二)逃逸闭包 & 非逃逸闭包

    本文主要分析逃逸闭包 、非逃逸闭包、自动闭包 逃逸闭包 & 非逃逸闭包 逃逸闭包定义 当闭包作为一个实际参数传递给...

  • javascript闭包详解

    跟我念 bi 闭 bao包 ,闭包的闭,闭包的包。。 闭包的简介 在计算机科学中,闭包(英语:Closure),又...

网友评论

      本文标题:闭包

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