简体   繁体   中英

How do I set a javascript variable to the return of an inline function?

I'm using the code:

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

trying to set x to true, the return value of the function, but instead x is defined as the function itself. How can I set x as the return value of the function? I could easily code around this problem by using a non-inline function or some such, but it bugs me because I'm sure there must be a simple solution.

Thanks.

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

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

You're not executing the function, you're setting x to actually be the function.

If you had some variable y , it could take on the value of the function with something like:

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

or alternatively execute the function in place with:

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

Your code just defines the function and assigns it to x , the function doesn't get called. To call it, put the function in parenthesis and add () after it, like for a normal function call:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM