通过闭包在外部访问函数的私有变量

通过闭包实现外部访问函数的私有变量
接下来我们来看demo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(function(){
var test = (function(){
return{
aaa : function(){
var a = 1;
function num(){
var b = 2;
return (a+","+b);
}
return num;
},
bbb : function(){
var b = test.aaa()();
alert(b);
}
}
})();
test.bbb(); // 1,2
})();

通过将aaa函数中num函数作为返回值,在bbb函数中调用aaa函数获取到num函数,执行num函数获取到变量值。
原理参考 [ JS作用域链 ]