如何将javascript变量设置为内联函数的返回值?

wya*_*att 11 javascript anonymous-function

我正在使用代码:

var x = function() {return true;};
Run Code Online (Sandbox Code Playgroud)

试图将x设置为true,该函数的返回值,而是x被定义为函数本身.如何将x设置为函数的返回值?我可以通过使用非内联函数或其他类似的东西轻松编码这个问题,但它让我感到困惑,因为我确信必须有一个简单的解决方案.

谢谢.

jdi*_*tal 30

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

    var x = ( function() {return true;} ) ();
Run Code Online (Sandbox Code Playgroud)


Mar*_*iot 7

你没有执行这个功能,你设置x的实际上是这个功能.

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

var x = function(){ return true; };
var y = x();  // y is now set to true.
Run Code Online (Sandbox Code Playgroud)

或者用以下方法执行适当的功能:

var x = (function(){ return true; })();
Run Code Online (Sandbox Code Playgroud)