87,993
社区成员
发帖
与我相关
我的任务
分享
var a = function(){
function somesetup(){
var setup = 'done';
}
function actualwork(){
alert('Worky-worky');
}
somesetup();
return actualwork();
}();
var a = function(){
function somesetup(){
var setup = 'done';
}
function actualwork(){
alert('Worky-worky');
}
somesetup();
return actualwork();
}(); // 这里有(),表示该闭包函数直接运行,所以 a 的值不是闭包函数本身,而是该闭包函数运行的返回值,在本例中a的值时函数 actualwork方法,而这个方法无返回值,所以调用a得到的就是undefined
var a = function(){
function somesetup(){
var setup = 'done';
}
function actualwork(){
alert('Worky-worky');
}
somesetup();
return actualwork();//返回的是actualwork()直行的结果,就是alert('Worky-worky'),这句话没有返回值,所以a是undefined
}();
var a = function(){
function somesetup(){
var setup = 'done';
}
function actualwork(){
alert('Worky-worky');
return 1;
}
somesetup();
return actualwork;
}();
alert(a());
啥都没返回当然是undefined啊
你那里a也是个返回值 不会是函数 当然这可能是你的意图