闭包匿名闭包

          (function () {/* 内部代码 */
            })();
(function () { // ... 所有的变量和function都在这里声明,并且作用域也只能在这个匿名闭包里 // ...但是这里的代码依然可以访问外部全局的对象 }());

 闭包最简:

 function closure() {
                var k = 1
                return function () {
                    return  k = k + 1;
                }
            }
            k = closure();
            k()
            k()
            alert(k())

 匿名闭包

var k=(function(){
              var k=1;
              function pri(){
                  return k=k+1
              }
              return    {pri:pri}
          }())
            k.pri()
            k.pri()
            alert(k.pri())

 使用闭包封装插件

(function () {
    var root = this;
    var Myapp;
    var name = 1
    Myapp = root.Myapp = {};
    Myapp.VERSION = '1.1.0';
    var add = Myapp.add = function () {
        name = name + 1
        alert(name)
    }
    Myapp.add1 = add

}).call(this)

 

posted @ 2012-05-08 11:37  break_happy  Views(378)  Comments(0Edit  收藏  举报