12

我正在使用代码:

var x = function() {return true;};

试图将 x 设置为 true,即函数的返回值,但 x 被定义为函数本身。如何将 x 设置为函数的返回值?我可以通过使用非内联函数或类似的函数轻松地解决这个问题,但这让我很烦恼,因为我确信必须有一个简单的解决方案。

谢谢。

4

3 回答 3

32

解决方案是定义函数然后调用它(通过在末尾添加额外的括号):

    var x = ( function() {return true;} ) ();
于 2010-01-19T04:12:23.997 回答
9

您没有执行该功能,您x实际上是在设置该功能。

如果您有一些变量y,它可以采用以下函数的值:

var x = function(){ return true; };
var y = x();  // y is now set to true.

或者使用以下方法执行该功能:

var x = (function(){ return true; })();
于 2010-01-19T04:12:38.350 回答
2

您的代码只是定义函数并将其分配给x,该函数不会被调用。要调用它,请将函数放在括号中并在()其后添加,就像普通函数调用一样:

    var x = 
        (
            function () { 
                return true;
            } 
        )();
于 2010-01-19T04:13:04.100 回答