为什么代码不警告Worky-worky?

时间:2012-09-20 06:20:19

标签: javascript

var a = function() {
  function someSetup(){
    var setup = 'done';
  }
  function actualWork() {
    alert('Worky-worky');
  }
  someSetup();
  return actualWork;
}();

为什么上面的代码不提醒Worky-worky?它显示undefined.thank you

2 个答案:

答案 0 :(得分:5)

因为您只返回该功能,所以不要调用它。

执行此代码后执行a();,这将调用由匿名自执行函数返回的函数,即actualWork

答案 1 :(得分:0)

您正在尝试返回一个没有返回类型的函数(actualWork())。

它没有执行alert(),因为您没有正确调用该函数。

actualWork()

return actualWork;实际上是返回一个变量,但是由于你没有为该变量赋值,所以你得到了未定义的变量。

应该这样做。