一个小例子:
var revealed = function(){ var a = [1,2,3]; function abc(){ return (a[0]*a[1])+a[2]; } return { name: 'revealed', abcfn: abc }}();在匿名函数中启动,该匿名函数被赋予
revealed一个值,
a并且
abc对该函数是私有的。函数返回的是带有
name属性和
abcfn属性的对象常量,它是对的引用
abcfunction。在
abcfunction使用私有变量
a。这一切都可以通过使用闭包来完成(该函数范围内的所有内容都可以被该同一函数中的其他所有内容引用)。
显示的用法:
alert(revealed.name); //=> 'revealed'alert(revealed.abcfn()); //=> 5 (1*2+3)



