var a = function() {
function someSetup(){
var setup = 'done';
}
function actualWork() {
alert('Worky-worky');
}
someSetup();
return actualWork;
}();
为什么上面的代码不提醒Worky-worky?它显示undefined.thank you
答案 0 :(得分:5)
因为您只返回该功能,所以不要调用它。
执行此代码后执行a();
,这将调用由匿名自执行函数返回的函数,即actualWork
。
答案 1 :(得分:0)
您正在尝试返回一个没有返回类型的函数(actualWork())。
它没有执行alert(),因为您没有正确调用该函数。
actualWork()
return actualWork;
实际上是返回一个变量,但是由于你没有为该变量赋值,所以你得到了未定义的变量。
应该这样做。