有一个例子
function f1(){
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
输入:f1
输出:function f1() //返回一个function对象的f1
输入:f1()()
输出:
输入:nAdd
输出:function f1/nAdd() //返回一个function对象的nAdd,也有浏览器输出 function (){n+=1}
输入:nAdd
再输入:f1()
输出:
加上代码
var result=f1();
result(); // 999, 第一次alert(999)
nAdd();
result(); // 1000 第二次alert(1000)
代码参照:阮一峰的网络日志