美文网首页
2018-12-05封闭函数和闭包

2018-12-05封闭函数和闭包

作者: 回忆在美也是曾经 | 来源:发表于2018-12-05 11:33 被阅读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();
    
    • 闭包就是函数里面有函数,也可以叫函数的嵌套

    闭包用途

    • 保存索引
      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)
        }
    }
    

    私有计数器

    var count = (function () {
            var a = 0;
            function bb() {
                a++;
                  return a;
            }
            return bb;
        })();
        alert(count());
        alert(count());
        var c = count();
        alert(c);
    

    相关文章

      网友评论

          本文标题:2018-12-05封闭函数和闭包

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