2013-06-29 4 views
0
<html> 
    <head> 
     <script> 
      function test(){     
       return function(){ 
        alert("hi"); 
       }     
      } 
      test(); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

Это мой код, могу ли я спросить, почему он не работает должным образом?как вернуть анонимную функцию в javascript

+0

Что вы ожидали это делать? –

+0

что вы хотите вернуть сюда? –

+0

Мне просто нужно проверить вокруг javascript и узнать, как это работает – dramasea

ответ

10

Потому что вы возвращаете свою функцию, но не вызываете ее. Попробуйте это:

test()(); 

Вот fiddle

3

Я думаю, вы могли бы спутать. test() возвращает ссылку на функцию, но не выполняет ее.

Вы могли бы сделать что-то вроде этого

var alertFunc = test(); // return function reference 
alertFunc(); // call the function 
+2

это лучше всего;) –

Смежные вопросы