function a(){
alert('aaa');
return function b(){
alert('bbb');
}
}
//调用内部私有函数b,方法1
var func=a();
func();
//方法2:自调用
a()();
//重写本身的函数(好比第一次调用时作准备工做)
function a(){
alert('aaa');
a=function b(){
alert('bbb');
}
}
a();//输出:aaa
a();//输出:bbb
var a=function(){
//私有函数
function setUp(){
var setup='doSomeThing';
}
function doWork(){
alert('do your job');
}
setUp();
return doWork;//没加括号表示引用
}();//自调用
a();//这是第二次调用,输出:do your job
var func=new Function('a','b','return a+b');
func(3,5);//调用函数
var n;
function f(){
var a='yolo';
n=function(){
return a;
};
}
f();
alert(n());
function f1(x){
var n=function(){
return x;
};
x++;
return n;
}
var output=f1(2);
alert(output());//输出3,由于递增在前,return在后