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

2018-12-05  本文已影响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);
上一篇下一篇

猜你喜欢

热点阅读