(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)