0
<html>
    <head>
        <script>
             function test(){                   
                 return function(){
                  alert("hi");
                }                
             }
             test();
        </script>
    </head>
    <body>
    </body>
</html>

这是我的代码,请问为什么它不能正常工作?

4

2 回答 2

11

因为您正在返回您的函数但没有调用它。试试这个:

test()();

这是一个小提琴

于 2013-06-29T16:02:09.873 回答
3

我想你可能会感到困惑。test()返回一个函数引用,但它不会执行它。

你可以做这样的事情

var alertFunc = test(); // return function reference
alertFunc(); // call the function
于 2013-06-29T16:04:16.587 回答