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

上記のコードがWorky-workyを警告しないのはなぜですか?undefinedと表示されます。ありがとうございます

4

2 に答える 2

5

関数を返すだけなので、呼び出しません。

a();このコードの実行後に実行すると、匿名の自己実行関数によって返される関数が呼び出されactualWorkます。

于 2012-09-20T06:22:08.087 に答える
0

戻り値の型を持たない関数 (actualWork()) を返そうとしています。

関数を適切に呼び出さなかったため、 alert() は実行されません。

actualWork()

return actualWork;実際には変数を返していますが、その変数に何も割り当てていないため、未定義が返されています。

トリックを行う必要があります。

于 2012-09-20T06:22:27.557 に答える