封闭函数和闭包

2018-12-04  本文已影响0人  Forever_f59e
    (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);
上一篇 下一篇

猜你喜欢

热点阅读