美文网首页
封闭函数和闭包

封闭函数和闭包

作者: Forever_f59e | 来源:发表于2018-12-04 20:14 被阅读0次
        (function () {
        var str = '欢迎访问我的主页';
        alert(str);
    })();
    
    /* !function () {
        var str = '欢迎访问我的主页';
        alert(str);
    }()*/
     ~function () {
        var str = '欢迎访问我的主页';
        alert(str);
    }()
    

    封闭函数用 !或者 ~ 还有 ()()

    闭包

        function aa(b){
                    var a =12;
                    function bb() {
                            alert(a);
                            alert(b);
                  }   
                  return bb;
          }
          var cc = aa(24);
    
        //封闭函数写闭包
        var  cc = (function)(b){
                    var a =12;
                    function bb(){
                            alert(a);
                            alert(b);
                  }
                  return bb;
              })(24);
              cc();
    
    • 闭包就是函数里面有函数,也可以叫函数的嵌套

    闭包用途

    1.保存索引
        li{
        height: 30px;
        background-color: gold;
        margin-bottom: 10px;
    }
    

    </style>
    <script type="text/javascript">
    window.onload = function () {
    var ali = document.getElementsByTagName('li');

        for(var i=0; i<ali.length; i++){
            (function (i) {
                ali[i].onclick = function () {
                    alert(i)
                }
            })(i)
        }
    }
    
    2.私有计数器
        var count = (function () {
                var a = 0;
                function bb() {
                    a++;
                      return a;
                }
                return bb;
            })();
            alert(count());
            alert(count());
            var c = count();
            alert(c);
    

    相关文章

      网友评论

          本文标题:封闭函数和闭包

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